Happy numbers: Difference between revisions

Added solution for Action!
(Add PILOT)
(Added solution for Action!)
Line 208:
Output:
<pre>(1 7 10 13 19 23 28 31)</pre>
 
=={{header|Action!}}==
<lang Action!>BYTE FUNC SumOfSquares(BYTE x)
BYTE sum,d
 
sum=0
WHILE x#0
DO
d=x MOD 10
d==*d
sum==+d
x==/10
OD
RETURN (sum)
 
BYTE FUNC Contains(BYTE ARRAY a BYTE count,x)
BYTE i
 
FOR i=0 TO count-1
DO
IF a(i)=x THEN RETURN (1) FI
OD
RETURN (0)
 
BYTE FUNC IsHappyNumber(BYTE x)
BYTE ARRAY cache(100)
BYTE count
 
count=0
WHILE x#1
DO
cache(count)=x
count==+1
x=SumOfSquares(x)
IF Contains(cache,count,x) THEN
RETURN (0)
FI
OD
RETURN (1)
 
PROC Main()
BYTE x,count
 
x=1 count=0
WHILE count<8
DO
IF IsHappyNumber(x) THEN
count==+1
PrintF("%I: %I%E",count,x)
FI
x==+1
OD
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Happy_numbers.png Screenshot from Atari 8-bit computer]
<pre>
1: 1
2: 7
3: 10
4: 13
5: 19
6: 23
7: 28
8: 31
</pre>
 
=={{header|ActionScript}}==
Anonymous user