Mian-Chowla sequence: Difference between revisions
→Sieve version: improved sieve management
m (→Sieve version: improved code) |
(→Sieve version: improved sieve management) |
||
Line 1,910:
</pre>
===Sieve version===
This approach is
« 39 DUP STWS / CEIL
« # 0b » 'x' 1 4 ROLL 1 SEQ
» '<span style="color:blue">CSV</span>' STO <span style="color:grey">''@ ( size → { sieve } )''</span>
« '''IF''' DUP2 EVAL SIZE 39 * > '''THEN'''
« SWAP 1 - 39 MOD LASTARG / IP 1 + ▼
DUP2 EVAL SIZE SWAP 39 / CEIL 1 - '''START''' DUP #0 STO+ '''NEXT'''
'''END'''
ROT SWAP DUP2 GET 2 5 ROLL ^ R→B OR PUT
» '<span style="color:blue">SSV</span>' STO <span style="color:grey">''@ ( val 'sieve' → )''</span>
« '''IF''' DUP2 EVAL SIZE 39 * > '''THEN''' DROP2 0 '''ELSE'''
ROT SWAP GET 2 ROT ^ R→B AND # 0b ≠
'''END'''
» '<span style="color:blue">SVS?</span>' STO <span style="color:grey">''@ ( val 'sieve' → boolean )''</span>
|