Написать подрограмму, которая находит цифровой корень целого числа - PascalABC.NET
Формулировка задачи:
Написать подпрограмму, которая находит цифровой корень це-
лого числа. Цифровой корень находится суммированием цифр исходного
числа, затем цифр полученной суммы и т.д., пока эта сумма сама не станет
одной цифрой. Например, для числа 5674 цифровой корень находится так:
5 + 6 + 7 + 4 = 22; 2 + 2 = 4.
Решение задачи: «Написать подрограмму, которая находит цифровой корень целого числа»
textual
Листинг программы
Function SumN(k : Longint) : Longint; Begin If k>0 then SumN:=(k mod 10)+SumN(k div 10) else SumN:=0; End; Function CifSQRT(n : Longint) : Longint; Begin If n<10 then CifSQRT:=n else CifSQRT:=CifSQRT(SumN(n)); end; Begin Writeln(CifSQRT(5674)); End.
Объяснение кода листинга программы
- Function SumN(k : Longint) : Longint; Эта функция принимает целочисленный аргумент k и возвращает сумму цифр этого числа. Если число больше 0, то сумма цифр вычисляется как сумма остатка от деления на 10 и результата рекурсивного вызова функции SumN для целой части числа. Если число равно 0 или меньше, то функция возвращает 0.
- Function CifSQRT(n : Longint) : Longint; Эта функция принимает целочисленный аргумент n и возвращает цифровой корень этого числа. Если число меньше или равно 10, то функция возвращает само число. В противном случае функция вызывает саму себя для числа, полученного в результате вызова функции SumN, и возвращает результат.
- Begin Это ключевое слово, обозначающее начало выполнения программы.
- Writeln(CifSQRT(5674)); Это команда вывода результата вызова функции CifSQRT для аргумента 5674.
- End. Это ключевое слово, обозначающее конец выполнения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д