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


variable happy_count := 0;
outer:
iterate(x; [1...+oo])
  {
    variable seen := <<(* --> false)>>;
    variable now := x;
    while (true)
      {
        if (seen[now])
          {
            if (now == 1)
              {
                ++happy_count;
                print(x, " is happy.\n");
                if (happy_count == 8)
                    break from outer;;
              };
            break;
          };
        seen[now] := true;
        variable new := 0;
        while (now != 0)
          {
            new += (now % 10) * (now % 10);
            now /::= 10;
          };
        now := new;
      };
  };