
Флор
5 год назад
PASCALABCNET Дан набор из N целых положительных чисел. Для каждого числа вычисляется сумма двух последних цифр в его десятичной записи (для однозначных чисел предпоследняя цифра считается равной нулю). Необходимо определить, какая сумма при этом получается чаще всего. Если таких сумм неКак узнать сколько, необходимо вывести наибольшую из них.Напишите эффективную по времени и по памяти программу для решения этой задачи.Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
ОТВЕТЫ

Мира
Oct 24, 2020
var a:array[1..18] of integer;
s,i,x,n:integer;
begin
for i:=1 to 18 do a[i]:=0;
readln(n);
for i:=1 to n do begin
readln(x);
s:=x mod 10;
x:=x div 10;
s:=(x mod 10)+s;
a[s]:=a[s]+1;
end;
s:=1;
for i:=2 to 18 do if a[i]>=a[s] then s:=i;
writeln(s);
end.
s,i,x,n:integer;
begin
for i:=1 to 18 do a[i]:=0;
readln(n);
for i:=1 to n do begin
readln(x);
s:=x mod 10;
x:=x div 10;
s:=(x mod 10)+s;
a[s]:=a[s]+1;
end;
s:=1;
for i:=2 to 18 do if a[i]>=a[s] then s:=i;
writeln(s);
end.
326
Смежные вопросы: