Prime decomposition: Difference between revisions

m
add RPL binary integer version + typos
m (add RPL binary integer version + typos)
Line 5,195:
=={{header|RPL}}==
≪ { } SWAP DUP √ CEIL → lim
≪ 2
2 '''WHILE''' OVER 1 > OVER lim ≤ AND '''REPEAT'''
DUP2 /
'''IF''' DUP FP '''THEN''' DROP DUP 2 ≠ + 1 +
'''THEN''' DROP DUP 2 ≠ + 1 +
'''ELSE''' SWAP ROT DROP ROT OVER + ROT ROT '''END'''
'''END''' DROP
DROP
'''IF''' DUP 1 ≠ '''THEN''' + '''ELSE''' DROP '''END'''
≫ ‘'''DIVSPDIV'''’ STO
≫ ‘'''DIVS'''’ STO
 
21048 28 ^ 1 - ‘'''DIVSPDIV'''
{{out}}
<pre>
1: { 32 52 292 43 113 127131 }
</pre>
===Version for binary integers===
{{trans|Forth}}
≪ { } → pdiv
≪ #2
'''WHILE''' DUP2 DUP * ≥ '''REPEAT'''
'''IF''' DUP2 / LAST 3 PICK * -
'''THEN''' DROP 1 + #1 OR
'''ELSE''' ROT DROP SWAP pdiv OVER + 'pdiv' STO '''END'''
'''END''' DROP pdiv SWAP +
≫ ≫ ‘'''PDIVB'''’ STO
 
#1048 '''PDIVB'''
{{out}}
<pre>
1: { #2d #2d #2d #131d }
</pre>
 
1,151

edits