Safe primes and unsafe primes: Difference between revisions
Content added Content deleted
(add RPL) |
|||
Line 2,490: | Line 2,490: | ||
</pre> |
</pre> |
||
{{works with|HP|49g}} |
|||
≪ |
|||
1 - 2 / |
|||
'''IFERR''' ISPRIME? '''THEN''' DROP 0 '''END''' |
|||
≫ '<span style="color:blue">SAFE?</span>' STO |
|||
≪ → function count |
|||
≪ { } 2 |
|||
'''WHILE''' OVER SIZE count < '''REPEAT ''' |
|||
'''IF''' DUP function EVAL '''THEN''' SWAP OVER + SWAP '''END''' |
|||
NEXTPRIME |
|||
'''END''' |
|||
DROP |
|||
≫ ≫ '<span style="color:blue">FIRSTSEQ</span>' STO |
|||
≪ → function max |
|||
≪ 0 2 |
|||
'''WHILE''' DUP max < '''REPEAT ''' |
|||
'''IF''' DUP function EVAL '''THEN''' SWAP 1 + SWAP '''END''' |
|||
NEXTPRIME |
|||
'''END''' |
|||
DROP |
|||
≫ ≫ '<span style="color:blue">CNTSEQ</span>' STO |
|||
≪ <span style="color:blue">SAFE?</span> ≫ 35 <span style="color:blue">FIRSTSEQ</span> |
|||
≪ <span style="color:blue">SAFE?</span> ≫ 10000 <span style="color:blue">CNTSEQ</span> |
|||
≪ <span style="color:blue">SAFE?</span> NOT ≫ 40 <span style="color:blue">FIRSTSEQ</span> |
|||
≪ <span style="color:blue">SAFE?</span> NOT ≫ 10000 <span style="color:blue">CNTSEQ</span> |
|||
Counting safe numbers up to one million would take an hour, without really creating any opportunity to improve the algorithm or the code. |
|||
{{out} |
|||
<pre> |
|||
4: {5 7 11 23 47 59 83 107 167 179 227 263 347 359 383 467 479 503 563 587 719 839 863 887 983 1019 1187 1283 1307 1319 1367 1439 1487 1523 1619} |
|||
3: 115 |
|||
2: {2 3 13 17 19 29 31 37 41 43 53 61 67 71 73 79 89 97 101 103 109 113 127 131 137 139 149 151 157 163 173 181 191 193 197 199 211 223 229 233} |
|||
1: 1114 |
|||
</pre> |
|||