Дан набор из N целых положительных чисел. Необходимо определить, какая цифра чаще всего встречается в десятичной записи чисел этого набора. Если таких цифр несколько, необходимо вывести наибольшую из них. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом N. Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000. Пример входных данных: 3 15 25 32 Пример выходных данных для приведённого выше примера входных данных: 5 В десятичной записи чисел заданного набора чаще всего – по 2 раза – встречаются цифры 2 и 5, большая из них – 5.

Вопрос школьника по предмету Информатика

Дан набор из N целых положительных чисел. Необходимо определить, какая цифра чаще всего встречается в десятичной записи чисел этого набора. Если таких цифр несколько, необходимо вывести наибольшую из них.

Напишите эффективную по времени и по памяти программу для решения этой задачи.
Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает одного килобайта и не увеличивается с ростом N.

Описание входных и выходных данных

В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000).
В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000.

Пример входных данных:
3
15
25
32
Пример выходных данных для приведённого выше примера входных данных:
5

В десятичной записи чисел заданного набора чаще всего – по 2 раза – встречаются цифры 2 и 5, большая из них – 5.

Ответ учителя по предмету Информатика

var a:array[1..1000] of integer;

k:array[0..9] of integer;

n,i,m:integer; 

begin

readln(n);

for i:=1 to n do readln(a[i]);

for i:=0 to 9 do k[i]:=0;

for i:=1 to n do

 begin

 m:=a[i];

 while m>0 do

  begin

  inc(k[m mod 10]);

  m:=m div 10;

  end;

 end;

m:=0;

for i:=1 to 9 do

 if k[i]>=k[m] then m:=i;

writeln(m);

end.

Пример:

3

15

25

32

5

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей