С++
Пусть дана функция
int G(int n,int m)
{ int i, j;
if (m<=n)
{ for (i=1;i<=n;i++)
{ a[i]=i*m; }
}
else
for (j=1;j<=m*m;j++)
{ a[j]=j*n; }
return 2*n-m;
}
Определите функцию роста f(N) трудоемкости данного алгоритма и её асимптотические оценки ( f(N)), O(f(N)), ( f(N)), o(f(N)), ( f(N)), где N – длина входа.
Исходя из этого имеем (приведём всё к битам):
1) 5 бит
2) 15 байт = 15*8 бит = 120 бит
3) 1024 килобайт = 1024*1024 байт = 1048576 байт = 1048576 * 8 бит = 8388608 бит
4) 1024 мегабайт = 1024*1024*1024*8 бит = 8589934592 бит
5) 15 килобайт = 15*1024*8 бит = 122880 бит
Таким образом:
5 бит → 15 байт → 15 килобайт → 1024 килобайт → 1024 мегабайт
(хотя здесь и вычислять ничего не нужно - всё итак очевидно и без расчётов)
Надо перевести сначала 21 в двоичную, потом 2 в двоичную и потом 2002 в двоичную
Получается вот так:
21 = 10101
2=10
2002 = 11111010010
В итоге:
10101.10.11111010010