Написать рекурсивную функцию вычисления суммы цифр натурального числа — Pascal(Паскаль)

program Project1;
 
function SumDigit(const aNum : Integer) : Integer;
begin
  SumDigit := 0;
  if aNum <> 0 then
    SumDigit := aNum mod 10 + SumDigit(aNum div 10);
  ;
end;
 
var
  Num, Sum : Integer;
  S : String;
begin
  repeat
    Writeln('Задайте целое число:');
    Readln(Num);
    (*Берём число без знака.*)
    Num := Abs(Num);
 
    Sum := SumDigit(Num);
    Writeln('Сумма цифр в десятичной записи числа равна:');
    Writeln(Sum);
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> ''
end.

Leave a Comment

+ 31 = 33