27 lines
600 B
Text
27 lines
600 B
Text
Program SumOFDigits;
|
|
|
|
function SumOfDigitBase(n:UInt64;base:LongWord): LongWord;
|
|
var
|
|
tmp: Uint64;
|
|
digit,sum : LongWord;
|
|
Begin
|
|
digit := 0;
|
|
sum := 0;
|
|
While n > 0 do
|
|
Begin
|
|
tmp := n div base;
|
|
digit := n-base*tmp;
|
|
n := tmp;
|
|
inc(sum,digit);
|
|
end;
|
|
SumOfDigitBase := sum;
|
|
end;
|
|
Begin
|
|
writeln(' 1 sums to ', SumOfDigitBase(1,10));
|
|
writeln('1234 sums to ', SumOfDigitBase(1234,10));
|
|
writeln(' $FE sums to ', SumOfDigitBase($FE,16));
|
|
writeln('$FOE sums to ', SumOfDigitBase($F0E,16));
|
|
|
|
writeln('18446744073709551615 sums to ', SumOfDigitBase(High(Uint64),10));
|
|
|
|
end.
|