1. Сначала нужно найти минимальную длину кода, который позволит занумеровать 800 человек. Понятно, что
800<2^n, где n - минимально.
Ясно, что n=10, потому что
512=2^9 < 800 < 2^10=1024
Ну а теперь совсем просто. Учащихся 320, код каждого 10бит, поэтому общий объём информации
320*10=3200бит = 3200/8 = 400байт.
Вот и всё.
Ну и ещё. 1. Понятно, что такую кодировку можно использовать, пока учащихся меньше 1025.
2. Приведенные рассуждения действительны для кодов одинаковой длины, существуют и другие коды, например, разной длины, самым известным представителем которой является код(азбука) Морзе. В этой кодировке, например, коды
1, 01, 001, 0001 - РАЗНЫЕ коды.
3. Из условия задачи не ясно, о какой кодировке идёт речь, но если о другой, то количество информации тоже несложно посчитать, правда, необходимо, например, зарезервировать какой-то код для разделителя, отделяющего один код от другого(у Морзе это немного более длинная пауза между символами, чем между 0 1(точкой и тире). Существуют и другие коды, например Брайля(для слепых), в котором, например РАЗНЫМ объектам соответствуют ОДИНАКОВЫЕ коды, напрмер, буквы А,Б,Ц,Д и цифры 1,2,3,4 кодируются одинаково, но там есть спец коды-регистры, определяющие, ЧТО будет идти за ними. И вообще оптимальное кодирование - это целая сложная наука, использующая самые последние достижения математики.
Успехов!
Program n_1;
var a:array [1..1000] of integer; i, buf:integer;
begin
for i:=1 to 1000 do read(a[i]); //Вводим массив
for i:=1 to 500 do begin //Переворачиваем массив
buf:=a[i];
a[i]:=a[1001-i];
a[1001-i]:=buf;
end;
for i:=1 to 1000 do write(a[i], ' '); //Выводим перевернутый массив
writeln(); //Переносим строку
for i:=1 to 1000 do begin //Выводим нужные нам числа
buf:=a[i];
while buf>9 do buf:=buf div 10; //buf равно старшему разряду
if buf>a[i] mod 10 then write(a[i], ' '); //Если старший разряд больше младшего, то выводим
end;
end.
Часть, выделенная полужирным, эквивалентна
for i:=1000 downto 1 do read(a[i]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.