19 lines
468 B
ObjectPascal
19 lines
468 B
ObjectPascal
##
|
|
function DigitalRoot(num: int64): (integer, integer);
|
|
begin
|
|
var additivepersistence := 0;
|
|
while num > 9 do
|
|
begin
|
|
num := num.ToString.ToCharArray.Sum(x -> x.ToDigit);
|
|
additivepersistence += 1;
|
|
end;
|
|
result := (additivepersistence, integer(num));
|
|
end;
|
|
|
|
var nums := |627615, 39390, 588225, 393900588225|;
|
|
foreach var num in nums do
|
|
begin
|
|
var t := DigitalRoot(num);
|
|
Writeln(num, ' has additive persistence ', t[0], ' and digital root ', t[1])
|
|
end;
|