27 lines
454 B
Plaintext
27 lines
454 B
Plaintext
fn isHappyNumber n =
|
|
(
|
|
local pastNumbers = #()
|
|
while n != 1 do
|
|
(
|
|
n = n as string
|
|
local newNumber = 0
|
|
for i = 1 to n.count do
|
|
(
|
|
local digit = n[i] as integer
|
|
newNumber += pow digit 2
|
|
)
|
|
n = newNumber
|
|
if (finditem pastNumbers n) != 0 do return false
|
|
append pastNumbers newNumber
|
|
)
|
|
n == 1
|
|
)
|
|
printed = 0
|
|
for i in (for h in 1 to 500 where isHappyNumber h collect h) do
|
|
(
|
|
if printed == 8 do exit
|
|
print i as string
|
|
printed += 1
|
|
|
|
)
|