number% = 0 total% = 0 REPEAT number% += 1 IF FNhappy(number%) THEN PRINT number% " is a happy number" total% += 1 ENDIF UNTIL total% = 8 END DEF FNhappy(num%) LOCAL digit&() DIM digit&(10) REPEAT digit&() = 0 $$^digit&(0) = STR$(num%) digit&() AND= 15 num% = MOD(digit&())^2 + 0.5 UNTIL num% = 1 OR num% = 4 = (num% = 1)