31 lines
505 B
Plaintext
31 lines
505 B
Plaintext
function IsHappy(n : Integer) : Boolean;
|
|
var
|
|
cache : array of Integer;
|
|
sum : Integer;
|
|
begin
|
|
while True do begin
|
|
sum := 0;
|
|
while n>0 do begin
|
|
sum += Sqr(n mod 10);
|
|
n := n div 10;
|
|
end;
|
|
if sum = 1 then
|
|
Exit(True);
|
|
if sum in cache then
|
|
Exit(False);
|
|
n := sum;
|
|
cache.Add(sum);
|
|
end;
|
|
end;
|
|
|
|
var n := 8;
|
|
var i : Integer;
|
|
|
|
while n>0 do begin
|
|
Inc(i);
|
|
if IsHappy(i) then begin
|
|
PrintLn(i);
|
|
Dec(n);
|
|
end;
|
|
end;
|