Петя разрабатывает программный компонент для записи текстовых файлов. Он знает, что тексты, которые ему нужно записывать могут содержать ограниченный набор символов: строчные и прописные латинские буквы (в латинском алфавите 2626 букв), строчные и прописные русские буквы (в русском алфавите 3333 буквы), цифры от 00 до 99, а также знаки препинания и специальные символы, которых в сумме 2020. Изначально, Петя решил записывать в память коды символов, используя минимальное, одинаковое для всех символов количество бит. Вася заметил, что тексты, которые записывает Петя можно разделить на два непересекающихся фрагмента: аннотацию и основной текст. При этом в аннотации можно использовать только строчные и прописные латинские буквы, цифры от 00 до 99 и десять знаков препинания. Он предложил Пете использовать разные кодовые таблицы для аннотации и основных текстов и сохранять в память для аннотации коды символов, используя минимальное, одинаковое для всех символов, которые могут встретиться в аннотации, количество бит, а для основного текста коды символов, используя минимальное, одинаковое для всех возможных в тексте символов количество бит. Петя попробовал применить этот метод для файла, в котором количество символов в аннотации составляет ровно 1/81/8 от общего количества символов в тексте и получил выигрыш ровно в 20482048 бит при сохранении файла относительно своего изначального Найдите количество символов в тексте, который сохраняет Петя. В ответе укажите целое число.
n=7;
type
V=array[1..n] of real;
var
P:V;
i,k:integer;
a,b,c,d:real;
begin
Writeln('Вводите длины сторон четырехугольника через пробел');
for i:=1 to n do begin
Write(i,': '); Read(a,b,c,d);
P[i]:=a+b+c+d;
end;
k:=0;
for i:=n-1 downto 1 do
if P[i]=P[n] then k:=k+1;
Writeln('Четырехугольников с периметром, как у последнего: ',k)
end.
Пример
Вводите длины сторон четырехугольника через пробел
1: 5 7 3 8
2: 3 7 3 6
3: 5 8 5 2
4: 6 8 4 1.9
5: 8 3 5 9
6: 7 3 7 2
7: 5 5 5 4
Четырехугольников с периметром, как у последнего: 2
Математическая модель (а также программа; зависит от того, что понимать под этапом формализации).
В учебнике выделяют такие этапы решения задачи на компьютере:
Исходные данные (результат - словесная информационная модель)Формализация (математическая модель)Алгоритмизация (алгоритм)Программирование (программа)Отладка, тестирование (уточнение модели)Выполнение расчетов (получение результатов)Нормальные люди понимают, что после формализации информация должна быть представлена на формальном языке, таких языком может быть как математический, так и язык программирования.