K = 100*50 = 5000 px
i = (N=2^i == 165 = 2^(7-8)) = 8 берём большее для i
I = 5000*8 = 5000 байт
ответ: В(5000)
<u>// PascalABC.NET 3.3, сборка 1600 от 23.12.2017</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var r:integer;
var x:real;
while true do begin
Write('Выберите тип единицы длины:',NewLine,
'1-дециметр, 2-километр, 3-метр, 4-миллиметр, 5-сантиметр, 0-выход.' );
Read(r);
if r=0 then begin Writeln('Пока!'); Exit end;
Write('Введите длину в этой единице: '); Read(x);
case r of
1:Writeln(x, ' дм = ',10*x,' см = ',100*x,' мм = ',x/10,' м = ',
x/10000,' км');
2:Writeln(x, ' км = ',1000*x,' м = ',10000*x,' дм = ',100000*x,' см = ',
x*1000000,' мм');;
3:Writeln(x, ' м = ',10*x,' дм = ',100*x,' см = ',x*1000,' мм = ',
x/1000,' км');
4:Writeln(x, ' мм = ',x/10,' см = ',x/100,' дм = ',x/1000,' м = ',
x/1000000,' км');
5:Writeln(x, ' cм = ',10*x,' мм = ',x/10,' дм = ',x/100,' м = ',
x/100000,' км');
end
end
end.
uses crt;
var
a:array[1..7,1..10] of integer;
b,i,j:integer;
begin
clrscr;
randomize();
//заполнение массива случайными числами
for i:=1 to 7 do
for j:=1 to 10 do
begin
a[i,j]:=random(10);
end;
//вывод массива
for i:=1 to 7 do
begin
for j:=1 to 10 do
write(a[i,j]:3,' ');
writeln();
writeln();
end;
//удаляем строку 6 и меняем 5 и 2 строки местами
for j:=1 to 10 do
begin
a[6,j]:=a[7,j];
a[7,j]:=0;
b:=a[5,j];
a[5,j]:=a[2,j];
a[2,j]:=b;
end;
writeln('Отредактированный массив');
//выводим отредактированный массив
for i:=1 to 6 do
begin
for j:=1 to 10 do
write(a[i,j]:3,' ');
writeln();
writeln();
end;
readln();
end.
Числа, которые при делении на 500 дают в остатке 9 это 509, 1009, 1509, 2009 и т.д. Максимальное число, которое можно записать девятью битами - 256+128+64+32+16+8+4+2+1=511. Поэтому число 509 наиболее подходящее для решения нашей задачи.
Ответ: 509(10) и 111111101(2)