На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N.
2. Каждый разряд этой записи заменяется двумя разрядами по следующему правилу: если в разряде стоит 0, то вместо него пишется 00; если в разряде стоит 1, то 1 заменяется на 11. Например, двоичная запись 1001 числа 9 будет преобразована в 11000011.
Полученная таким образом запись (в ней в два раза больше разрядов, чем в записи исходного числа N) является двоичной записью числа R - результата работы данного
алгоритма.
Укажите минимальное число R, большее 32, которое может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе
счисления.
Найдем объем всего сообщения в битах:
1/512 Мб=1024/512 Кб=2 Кб=2*1024 байт=2048 байт=2048*8 бит
Найдем сколько занимает один символ для этого поделим кол-во битов в сообщении на кол-во символов:
(2048*8)/2048=8 бит i=8
найдем мощность алфавита N
N=2 в стапени i
N=256
ответ: N=256
№2
Найдем сколько занимает один знак:
N=2 в степени i
256=2 в степени i
i=8 бит
Найдем сколько займут введенные символы:
8*100=800 бит=800/8 байт=100 байт
ответ: 100 байт
№3
Найдем сколько занимает один символ:
N=2 в степени i
65536=2 в степени i
i=16 бит=2 байта
Найдем кол-во символов:
4стр*5мин=20стр
20стр*40строк=800строк
800строк*50 симв=40000симв
Все символы занимают:
40000*2 байта=80000байт
ответ: 80000байт
Объяснение:
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,1,50);
a.Println(3); Writeln(3*a.ColCount*'-');
// начало расчетов
var s:=0;
for var i:=0 to n-1 do s+=a[i,n-i-1];
Writeln('1: S=',s);
Write('2: Суммы построчно: '); a.Rows.Select(row->row.Sum).PrintLn;
Write('3: Произведение элементов: ');
a.ElementsByRow.Aggregate(BigInteger(1),(p,q)->p*q).PrintLn;
var p:BigInteger:=1;
for var i:=0 to n-1 do p*=a[i,i];
Writeln('4: П=',p);
end.