Aliquot sequence classifications: Difference between revisions
Content added Content deleted
(Used "int64" instead of "int" for aliquots. Some other minor changes.) |
(add RPL) |
||
Line 5,066: | Line 5,066: | ||
Enter an integer: |
Enter an integer: |
||
Program complete. |
Program complete. |
||
</pre> |
|||
=={{header|RPL}}== |
|||
{{works with|HP|49}} |
|||
≪ DIVIS DUP SIZE |
|||
'''IF''' DUP 2 ≤ '''THEN''' 1 - NIP '''ELSE''' 1 SWAP 1 - SUB ∑LIST '''END''' |
|||
R→I |
|||
≫ ≫ ‘<span style="color:blue">∑PFAC</span>’ STO |
|||
≪ 16 2 47 ^ → smax vmax |
|||
≪ { } OVER + |
|||
'''DO''' |
|||
SWAP <span style="color:blue">∑PFAC</span> SWAP OVER + |
|||
'''UNTIL''' OVER NOT LASTARG vmax ≥ OR OVER SIZE smax ≥ OR |
|||
'''END''' NIP |
|||
≫ ≫ ‘<span style="color:blue">ALIQT</span>’ STO |
|||
≪ <span style="color:blue">ALIQT</span> DUP HEAD → seq k |
|||
≪ '''CASE''' |
|||
seq 0 POS '''THEN''' "terminating" '''END''' |
|||
seq 2 GET k == '''THEN''' "perfect" '''END''' |
|||
seq 3 GET k == '''THEN''' "amicable" '''END''' |
|||
seq 4 OVER SIZE SUB k POS '''THEN''' "sociable" '''END''' |
|||
seq ΔLIST 0 POS '''THEN''' "aspiring" '''END''' |
|||
seq SORT ΔLIST 0 POS '''THEN''' "cyclic" '''END''' |
|||
"non-terminating" |
|||
'''END''' |
|||
≫ ≫ ‘<span style="color:blue">ALIQLASS</span>’ STO |
|||
≪ n <span style="color:blue">ALIQLASS</span> ≫ 'n' 1 10 1 SEQ |
|||
{11 12 28 496 220 1184 12496 1264460 790 909 562 1064 1488 15355717786080} 1 ≪ <span style="color:blue">ALIQLASS</span> ≫ DOLIST |
|||
{{out}} |
|||
<pre> |
|||
2: { "terminating" "terminating" "terminating" "terminating" "terminating" "terminating" "perfect" "terminating" "terminating" "terminating" } |
|||
1: { "terminating" "terminating" "perfect" "perfect" "amicable" "amicable" "sociable" "sociable" "aspiring" "aspiring" "cyclic" "cyclic" "non-terminating" "non-terminating" } |
|||
</pre> |
</pre> |
||