24 lines
484 B
Text
24 lines
484 B
Text
HOW TO RETURN square.digit.sum n:
|
|
PUT 0 IN sum
|
|
WHILE n>0:
|
|
PUT n mod 10 IN digit
|
|
PUT sum + digit ** 2 IN sum
|
|
PUT floor (n/10) IN n
|
|
RETURN sum
|
|
|
|
HOW TO REPORT happy n:
|
|
PUT {} IN seen
|
|
WHILE n not.in seen:
|
|
INSERT n IN seen
|
|
PUT square.digit.sum n IN n
|
|
REPORT n=1
|
|
|
|
HOW TO RETURN next.happy n:
|
|
PUT n+1 IN n
|
|
WHILE NOT happy n: PUT n+1 IN n
|
|
RETURN n
|
|
|
|
PUT 0 IN n
|
|
FOR i IN {1..8}:
|
|
PUT next.happy n IN n
|
|
WRITE n/
|