Объем информации в письме народа x:
50 * log(2)16 = 50 * 4 = 200 бит
Объем информации в письме народа y:
40 * log(2)32 = 40 * 5 = 200 бит
Объемы информации в письмах равны
Согласно алгоритму из блок-схемы, пока не получен ноль, число надо делить на 2, если оно четное, и отнимать 1, если нечетное. Проделываем это:
500 (четное) -> 250 (четное) -> 125 (нечетное) -> 124 (четное) -> 62 (четное) -> 31 (нечетное) -> 30 (четное) -> 15 (нечетное) -> 14 (четное) -> 7 (нечетное) -> 6 (четное) -> 3 (нечетное) -> 2 (четное) -> 1 (нечетное) -> 0
Чтобы получить из нуля 500, нужно пойти в обратном порядке: 0 -> 1 -> 2 -> 3 -> 6 -> 7 -> 14 -> 15 -> 30 -> 31 -> 62 -> 124 -> 125 -> 250 -> 500
Для 1024 всё проще:
От 1024 до 0: 1024 -> 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 -> 0 (на всех шагах кроме последнего число уменьшается в 2 раза, на последнем уменьшается на 1)
В обратную сторону 0 -> 1 -> 2 -> 4 -> ... -> 512 -> 1024 (на первом шаге число увеличивается на 1, затем 10 раз увеличивается в 2 раза)
В той же папке, где будет программа, создаете два блокнота, называете input и output
a:array[1..10000] of integer;
i, k, min, imin:integer;
begin
assign(input,'input.txt');
reset(input);
assign(output,'output.txt'); { если в тот же, то assign(input,'input.txt');
rewrite(output); rewrite(input);}
for i:=1 to 10 do
read(a[i]);
min:=a[1];
for i:=1 to 10 do
if min>a[i] then begin min:=a[i]; imin:=i; end;
writeln;
writeln(min,' ', imin);
end.
задание вписать в тот же файл делаю впервые, поэтому за правильность вывода не отвечаю.
1)1
2)3
3)2
4)4
5)название
6)1-а 2-в 3-б
7)2
8)4
9)3
10)2
11)система вложенных папок
12)c
Оно является (сума первых двух чисел равна сумме последних двух цифр