В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
oksanaverner00
oksanaverner00
19.03.2021 11:11 •  Информатика

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

Ответ:
Anya2587
Anya2587
20.08.2020 14:23
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
0,0(0 оценок)
Ответ:
Аня142
Аня142
20.08.2020 14:23
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadlnInteger;
  var d:=new Dictionary<char,integer>;
  for var i:=1 to n do
    foreach var e in ReadlnInteger.ToString do
      d[e]:=d.Get(e)+1;
  d.OrderByDescending(x->x.Value).ThenByDescending(x->x.Key)
      .Select(x->x.Key).Take(1).Println
end.

И это - всё. Работает точно в соответствии с примером, поэтому результатов не привожу.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?