Circular primes: Difference between revisions
refactored the code to reduce stack juggling in circular?
(refactored the code to reduce stack juggling in circular?) |
|||
Line 690:
: prime? ( n -- f )
dup 2 < if drop false exit then
dup 2 mod 0= if
dup 5 mod 0=
▲ else wheel-prime?
▲ then
: log10^ ( n -- 10^[log n], log n )
Line 709 ⟶ 700:
1 0 rot
begin dup 9 > while
repeat drop ;
Line 716 ⟶ 707:
: rotate ( n -- n )
dup log10^ drop /mod swap 10 * + ;
: prime-rotation? ( p0 p -- f )
tuck <= swap prime? and ;
: circular? ( n -- f ) \ assume n is not a multiple of 2, 3, 5
dup wheel-prime? invert
if drop false exit
then dup >r
swap rotate
loop
: .primes
Line 744 ⟶ 736:
2 3 5 7 11 13 17 37 79 113 197 199 337 1193 3779 11939 19937 193939 199933
</pre>
=={{header|FreeBASIC}}==
<lang freebasic>#define floor(x) ((x*2.0-0.5)Shr 1)
|