Truncatable primes: Difference between revisions
Content deleted Content added
m →{{header|REXX}}: added comments, changed fence, changed alignments, added whitespace. -- ~~~~ |
m →{{header|REXX}}: un-dented a DO loop. -- ~~~~ |
||
Line 1,387: | Line 1,387: | ||
!.2=1; !.3=1; !.4=1; !.7=1; !.11=1; !.13=1; !.17=1 /*low prime flags.*/ |
!.2=1; !.3=1; !.4=1; !.7=1; !.11=1; !.13=1; !.17=1 /*low prime flags.*/ |
||
n=7 /*number of primes so far. */ |
n=7 /*number of primes so far. */ |
||
do j=p.n+2 by 2 to 1000000 /*find all primes < 1,000,000. */ |
|||
if j//3 ==0 then iterate /*divisible by three? */ |
|||
if right(j,1)==5 then iterate /*right-most digit a five? */ |
|||
if |
if j//7 ==0 then iterate /*divisible by seven? */ |
||
if j// |
if j//11 ==0 then iterate /*divisible by eleven? */ |
||
if j//11 ==0 then iterate /*divisible by eleven? */ |
|||
/*the above 4 lines saves time. */ |
/*the above 4 lines saves time. */ |
||
do k=6 while p.k**2<=j |
do k=6 while p.k**2<=j /*divide by known odd primes. */ |
||
if j//p.k==0 then iterate j |
if j//p.k==0 then iterate j /*divisible by X? Not prime. */ |
||
end /*k*/ |
end /*k*/ |
||
n=n+1 |
n=n+1 /*bump number of primes found. */ |
||
p.n=j |
p.n=j /*assign to sparse array. */ |
||
!.j=1 |
!.j=1 /*indicate that J is a prime. */ |
||
end /*j*/ |
end /*j*/ |
||
say 'The last prime is' p.n " (there are "n 'primes under one million).' |
say 'The last prime is' p.n " (there are "n 'primes under one million).' |
||
Line 1,432: | Line 1,431: | ||
The largest left-truncatable prime under one million is 998443 |
The largest left-truncatable prime under one million is 998443 |
||
The largest right-truncatable prime under one million is 739399 |
The largest right-truncatable prime under one million is 739399 |
||
</pre> |
</pre> |
||