Петя разрабатывает программный компонент для записи текстовых файлов. Он знает, что тексты, которые ему нужно записывать могут содержать ограниченный набор символов: строчные и прописные латинские буквы (в латинском алфавите 2626 букв), строчные и прописные русские буквы (в русском алфавите 3333 буквы), цифры от 00 до 99, а также знаки препинания и специальные символы, которых в сумме 2020. Изначально, Петя решил записывать в память коды символов, используя минимальное, одинаковое для всех символов количество бит. Вася заметил, что тексты, которые записывает Петя можно разделить на два непересекающихся фрагмента: аннотацию и основной текст. При этом в аннотации можно использовать только строчные и прописные латинские буквы, цифры от 00 до 99 и десять знаков препинания. Он предложил Пете использовать разные кодовые таблицы для аннотации и основных текстов и сохранять в память для аннотации коды символов, используя минимальное, одинаковое для всех символов, которые могут встретиться в аннотации, количество бит, а для основного текста коды символов, используя минимальное, одинаковое для всех возможных в тексте символов количество бит. Петя попробовал применить этот метод для файла, в котором количество символов в аннотации составляет ровно 1/81/8 от общего количества символов в тексте и получил выигрыш ровно в 20482048 бит при сохранении файла относительно своего изначального Найдите количество символов в тексте, который сохраняет Петя. В ответе укажите целое число.
11100011110011100₂ = 1 1100 0111 1001 1100₂ = 1С79С₁₆
7351₈ = 111 011 101 001₂ = 111011101001₂
7351₁₀ / 2 = 3675, остаток 1
3675/2 = 1837, остаток 1
1837/2 = 918, остаток 1
918/2 = 459, остаток 0
459/2 = 229, остаток 1
229/2 = 114, остаток 1
114/2 = 57, остаток 0
57/2 = 28, остаток 1
28/2 = 14, остаток 0
14/2 = 7, остаток 0,
7/2 = 3, остаток 1
3/2 = 1, остаток 1
1/2 = 0, остаток 1
7531₁₀ = 11100101110111₂
А10BC1₁₆ - основание не указано, но скорее всего, оно и так шестнадцатиричное и тут нечего переводить.
program d;
var min,max,a : integer;
mas:array[1..5] of integer;
begin
for a:=1 to 5 do
begin
readln(mas[a]);//вводим число и записываем его в массив
if mas[a]<=mas[min] then min:=a;//проверяем , если элемент массива меньше эталона , то запоминаем его индекс и перезаписываем эталон
if mas[a]>=mas[max] then max:=a;//проверяем , если элемент массива больше эталона , то запоминаем его индекс и перезаписываем эталон
end;
writeln;
writeln (mas[max]);//выводи элементм максимальный элемент
for a:=1 to 5 do
if (a<>min)and(a<>max) then writeln (mas[a]);//выводим все элементы кроме макс.и мин.
writeln(mas[min]);//выводим минимальный
end.