Jump to content

Sexy primes: Difference between revisions

m
→‎{{header|zkl}}: update to new requirements, make that configurable
(→‎{{header|Factor}}: update for new task requirements)
m (→‎{{header|zkl}}: update to new requirements, make that configurable)
Line 496:
[[Extensible prime generator#zkl]] could be used instead.
<lang zkl>var [const] BI=Import("zklBigNum"); // libGMP
const N=1_000_0001_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);
while(p.nextPrime()<=M){ ps[p]=1 } // bitmap of primes
 
ns:=[3..N-OVR,2].filter('wrap(n){ 2==(ps[n] + ps[n+6]) });
msg(N,"pairs",ns,5,1);
 
ns:=[3..N-(6+OVR),2].filter('wrap(n){ 3==(ps[n] + ps[n+6] + ps[n+12]) });
msg(N,"triples",ns,5,2);
 
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);
 
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);
 
ns:=[7..N-6OVR,2].filter('wrap(n){ ps[n] and 0==(ps[n-6] + ps[n+6]) });
msg(N,"(opps, I meant UNsexy primes)",ns,10,0);
 
Line 523 ⟶ 524:
}</lang>
{{out}}
<pre style="font-size:83%">
<pre>
Number of sexy prime pairs less than 1,000,000035 = 16,386
The last 5 are:
(999371,999377) (999431,999437) (999721,999727) (999763,999769) (999953,999959)
 
Number of sexy prime triples less than 1,000,000035 = 2,900
The last 5 are:
(997427,997433,997439) (997541,997547,997553) (998071,998077,998083) (998617,998623,998629) (998737,998743,998749)
 
Number of sexy prime quadruplets less than 1,000,000035 = 325
The last 5 are:
(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,000035 = 1
The last 1 is:
(5,11,17,23,29)
 
Number of sexy prime (opps, I meant UNsexy primes) less than 1,000,000035 = 48,624625
The last 10 are:
(999809) (999853) (999863) (999883) (999907) (999917) (999931) (999961) (999979) (999983) (1000003)
</pre>
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.