Ответ: см.картинку
Условие бесконечного цикла изначально или true (while) или false (repeat).
Всё просто каждое получившаеся число поделите на 2. А потом в конце с конча до начала запишите числа. Напиример:110:2 равно55 также 55 делим на 2 и так до конца пока не получится 0 а потом с конца до начала запишите остатки!
var m,k:integer;
n:real;
begin
writeln('Введите n и m через пробел:');
read(n,m);
k:=0;
writeln('Шаг ',k,', n=',n,', m=',m);
while m >= 6 do begin
m:=m-2;
n:=n*2;
k:=k+1;
writeln('Шаг ',k,', n=',n,', m=',m);
end;
writeln('n=',n,', m=',m);
end.
Результат:
Введите n и m через пробел:
1 10
Шаг 0, n=1, m=10
Шаг 1, n=2, m=8
Шаг 2, n=4, m=6
Шаг 3, n=8, m=4
n=8, m=4
128 символьный алфавит требует минимум 7 бит на символ. 40*50*3*7=42000 бит = 5250 байт
Решаем выражение, полученное значение переводим из десятичной системы в троичную и считаем количество "2"