Сколько раз в числе встречается цифра, равная старшей - 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.
Объяснение кода листинга программы
- В первой части кода происходит чтение числа N с помощью функции Readln.
- Во второй части цикла происходит поиск максимального числа среди цифр числа N. Для этого используется цикл for, который начинается с i=9 и идет вниз до i=0. Внутри цикла переменная mx устанавливается в 0, переменная A принимает значение числа N, и затем происходит проверка каждой цифры числа A на равенство текущей цифре i. Если цифра совпадает, то значение переменной mx увеличивается на 1. После проверки всех цифр числа A, значение переменной A делим на 10, чтобы перейти к следующей цифре. Если значение переменной mx не равно 0, то выводится сообщение о максимальном числе и количестве его вхождений в число N. Цикл прерывается командой break.
- В третьей части цикла происходит поиск минимального числа среди цифр числа N. Для этого используется аналогичный цикл for, который начинается с i=0 и идет вверх до i=9. Внутри цикла переменная mx устанавливается в 0, переменная A принимает значение числа N, и затем происходит проверка каждой цифры числа A на равенство текущей цифре i. Если цифра совпадает, то значение переменной mx увеличивается на 1. После проверки всех цифр числа A, значение переменной A делим на 10, чтобы перейти к следующей цифре. Если значение переменной mx не равно 0, то выводится сообщение о минимальном числе и количестве его вхождений в число N. Цикл прерывается командой break.
- По окончании всех циклов выводится сообщение с минимальным числом и количеством его вхождений в число N.
- Код завершается командой Readln для чтения следующего ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д