Задача 7 Урок 22
Primary tabs
Задача 7 Урок 22 Дано натуральное число N. Вычислите сумму его цифр.
(При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется). Разрешена только рекурсия и целочисленная арифметика. Используйте операцию получения остатка от деления, и операцию целочисленного деления).
var N,L, sum :integer;
function output(N :integer;var sum :integer) :integer;
var i, a :integer;
begin
if N > 0 then // если число больще нуля
begin
a := N mod 10; // отделяем последнюю цифру с помощью mod
sum := sum + a; // прибавляем sum и отделённое число и пишем её в sum
output(N div 10, sum); // рекурсивно идём в функцию без последней цифры с помощью div
end;
output := sum;
end;
begin
writeln('enter the number');
readln(L);
write(output(L, sum)); // в функцию
readln();
end.
Вывод консоли:
enter the number 55 10
- Log in to post comments
- 1362 reads