Happy numbers: Difference between revisions
Content added Content deleted
Walterpachl (talk | contribs) (→{{header|REXX}}: replace old versions) |
Not a robot (talk | contribs) (Add ABC) |
||
Line 183: | Line 183: | ||
</pre> |
</pre> |
||
=={{header|ABC}}== |
|||
<syntaxhighlight lang="ABC">HOW TO RETURN square.digit.sum n: |
|||
PUT 0 IN sum |
|||
WHILE n>0: |
|||
PUT n mod 10 IN digit |
|||
PUT sum + digit ** 2 IN sum |
|||
PUT floor (n/10) IN n |
|||
RETURN sum |
|||
HOW TO REPORT happy n: |
|||
PUT {} IN seen |
|||
WHILE n not.in seen: |
|||
INSERT n IN seen |
|||
PUT square.digit.sum n IN n |
|||
REPORT n=1 |
|||
HOW TO RETURN next.happy n: |
|||
PUT n+1 IN n |
|||
WHILE NOT happy n: PUT n+1 IN n |
|||
RETURN n |
|||
PUT 0 IN n |
|||
FOR i IN {1..8}: |
|||
PUT next.happy n IN n |
|||
WRITE n/</syntaxhighlight> |
|||
{{out}} |
|||
<Pre>1 |
|||
7 |
|||
10 |
|||
13 |
|||
19 |
|||
23 |
|||
28 |
|||
31</pre> |
|||
=={{header|ACL2}}== |
=={{header|ACL2}}== |
||
<syntaxhighlight lang="lisp">(include-book "arithmetic-3/top" :dir :system) |
<syntaxhighlight lang="lisp">(include-book "arithmetic-3/top" :dir :system) |