Сколько раз в числе встречается цифра, равная старшей - Pascal

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток уважаемые. Помогите пожалуйста с задачкой, не могу разобраться. В общем задачка такая: Дано натуральное число. Определить, сколько раз в нем встречается цифра, равная старшей. Сформулировать из цифр исходного числа новое минимальное число. Помогите, а то мне вообще вилы =(

Решение задачи: «Сколько раз в числе встречается цифра, равная старшей»

textual
Листинг программы
Var
 N, A, i, mx: longint;
Begin
 Readln(N);
 For i:=9 downto 0 do
  Begin
   mx:=0;
   A:=N;
   While A<>0 do
    Begin
     If A mod 10 = i then inc(mx);
     A:=A div 10;
    End;
   If mx<>0 then
    Begin
     Writeln('Максимальное число: ',i);
     Writeln('Встречается ',mx,' раз');
     break;
    End;
  End;
 mx:=0;
 For i:=0 to 9 do
  Begin
   A:=N;
   While A<>0 do
    Begin
     If A mod 10 = i then mx:=mx*10+i;
     A:=A div 10;
    End;
  End;
 Writeln('Минимальное число: ',mx);
 Readln;
End.

Объяснение кода листинга программы

  1. В первой части кода происходит чтение числа N с помощью функции Readln.
  2. Во второй части цикла происходит поиск максимального числа среди цифр числа N. Для этого используется цикл for, который начинается с i=9 и идет вниз до i=0. Внутри цикла переменная mx устанавливается в 0, переменная A принимает значение числа N, и затем происходит проверка каждой цифры числа A на равенство текущей цифре i. Если цифра совпадает, то значение переменной mx увеличивается на 1. После проверки всех цифр числа A, значение переменной A делим на 10, чтобы перейти к следующей цифре. Если значение переменной mx не равно 0, то выводится сообщение о максимальном числе и количестве его вхождений в число N. Цикл прерывается командой break.
  3. В третьей части цикла происходит поиск минимального числа среди цифр числа N. Для этого используется аналогичный цикл for, который начинается с i=0 и идет вверх до i=9. Внутри цикла переменная mx устанавливается в 0, переменная A принимает значение числа N, и затем происходит проверка каждой цифры числа A на равенство текущей цифре i. Если цифра совпадает, то значение переменной mx увеличивается на 1. После проверки всех цифр числа A, значение переменной A делим на 10, чтобы перейти к следующей цифре. Если значение переменной mx не равно 0, то выводится сообщение о минимальном числе и количестве его вхождений в число N. Цикл прерывается командой break.
  4. По окончании всех циклов выводится сообщение с минимальным числом и количеством его вхождений в число N.
  5. Код завершается командой Readln для чтения следующего ввода.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы