From Wikipedia, the free encyclopedia:

 A happy number is defined by the following process:
 Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals   1   (where it will stay),   or it loops endlessly in a cycle which does not include   1.   


 Those numbers for which this process end in   1   are       happy   numbers,   
 while   those numbers   that   do   not   end in   1   are   unhappy   numbers. 


Task

Find and print the first   8   happy numbers.

Display an example of your output here on this page.



See also

   The OEIS entry:   The     happy numbers:   A007770
   The OEIS entry:   The unhappy numbers;   A031177


ord0: to :integer `0`
happy?: function [x][
    n: x
    past: new []
 
    while [n <> 1][
        s: to :string n
        n: 0
        loop s 'c [
            i: (to :integer c) - ord0
            n: n + i * i
        ]
        if contains? past n -> return false
        'past ++ n
    ]
    return true
]
 
loop 0..31 'x [
    if happy? x -> print x
]