Sexy primes: Difference between revisions
Content added Content deleted
(→{{header|Factor}}: update for new task requirements) |
m (→{{header|zkl}}: update to new requirements, make that configurable) |
||
Line 496: | Line 496: | ||
[[Extensible prime generator#zkl]] could be used instead. |
[[Extensible prime generator#zkl]] could be used instead. |
||
<lang zkl>var [const] BI=Import("zklBigNum"); // libGMP |
<lang zkl>var [const] BI=Import("zklBigNum"); // libGMP |
||
const N= |
const N=1_000_035, M=N+25; // M allows prime group to span N, eg N=100, (97,103) |
||
const OVR=6; // 6 if prime group can NOT span N, else 0 |
|||
ps,p := Data(M).fill(0), BI(2); |
ps,p := Data(M).fill(0), BI(2); |
||
while(p.nextPrime()<=M){ ps[p]=1 } // bitmap of primes |
while(p.nextPrime()<=M){ ps[p]=1 } // bitmap of primes |
||
ns:=[3..N,2].filter('wrap(n){ 2==(ps[n] + ps[n+6]) }); |
ns:=[3..N-OVR,2].filter('wrap(n){ 2==(ps[n] + ps[n+6]) }); |
||
msg(N,"pairs",ns,5,1); |
msg(N,"pairs",ns,5,1); |
||
ns:=[3..N-6,2].filter('wrap(n){ 3==(ps[n] + ps[n+6] + ps[n+12]) }); |
ns:=[3..N-(6+OVR),2].filter('wrap(n){ 3==(ps[n] + ps[n+6] + ps[n+12]) }); |
||
msg(N,"triples",ns,5,2); |
msg(N,"triples",ns,5,2); |
||
ns:=[3..N-12,2].filter('wrap(n){ 4==(ps[n] + ps[n+6] + ps[n+12] + ps[n+18]) }); |
ns:=[3..N-(12+OVR),2].filter('wrap(n){ 4==(ps[n] + ps[n+6] + ps[n+12] + ps[n+18]) }); |
||
msg(N,"quadruplets",ns,5,3); |
msg(N,"quadruplets",ns,5,3); |
||
ns:=[3..N-18,2].filter('wrap(n){ 5==(ps[n] + ps[n+6] + ps[n+12] + ps[n+18] + ps[n+24]) }); |
ns:=[3..N-(18+OVR),2].filter('wrap(n){ 5==(ps[n] + ps[n+6] + ps[n+12] + ps[n+18] + ps[n+24]) }); |
||
msg(N,"quintuplets",ns,1,4); |
msg(N,"quintuplets",ns,1,4); |
||
ns:=[7..N- |
ns:=[7..N-OVR,2].filter('wrap(n){ ps[n] and 0==(ps[n-6] + ps[n+6]) }); |
||
msg(N,"(opps, I meant UNsexy primes)",ns,10,0); |
msg(N,"(opps, I meant UNsexy primes)",ns,10,0); |
||
Line 523: | Line 524: | ||
}</lang> |
}</lang> |
||
{{out}} |
{{out}} |
||
<pre style="font-size:83%"> |
|||
<pre> |
|||
Number of sexy prime pairs less than 1,000, |
Number of sexy prime pairs less than 1,000,035 = 16,386 |
||
The last 5 are: |
The last 5 are: |
||
(999371,999377) (999431,999437) (999721,999727) (999763,999769) (999953,999959) |
(999371,999377) (999431,999437) (999721,999727) (999763,999769) (999953,999959) |
||
Number of sexy prime triples less than 1,000, |
Number of sexy prime triples less than 1,000,035 = 2,900 |
||
The last 5 are: |
The last 5 are: |
||
(997427,997433,997439) (997541,997547,997553) (998071,998077,998083) (998617,998623,998629) (998737,998743,998749) |
(997427,997433,997439) (997541,997547,997553) (998071,998077,998083) (998617,998623,998629) (998737,998743,998749) |
||
Number of sexy prime quadruplets less than 1,000, |
Number of sexy prime quadruplets less than 1,000,035 = 325 |
||
The last 5 are: |
The last 5 are: |
||
(977351,977357,977363,977369) (983771,983777,983783,983789) (986131,986137,986143,986149) (990371,990377,990383,990389) (997091,997097,997103,997109) |
(977351,977357,977363,977369) (983771,983777,983783,983789) (986131,986137,986143,986149) (990371,990377,990383,990389) (997091,997097,997103,997109) |
||
Number of sexy prime quintuplets less than 1,000, |
Number of sexy prime quintuplets less than 1,000,035 = 1 |
||
The last 1 is: |
The last 1 is: |
||
(5,11,17,23,29) |
(5,11,17,23,29) |
||
Number of sexy prime (opps, I meant UNsexy primes) less than 1,000, |
Number of sexy prime (opps, I meant UNsexy primes) less than 1,000,035 = 48,625 |
||
The last 10 are: |
The last 10 are: |
||
(999853) (999863) (999883) (999907) (999917) (999931) (999961) (999979) (999983) (1000003) |
|||
</pre> |
</pre> |