Smarandache prime-digital sequence: Difference between revisions

Content added Content deleted
m (→‎{{header|Ring}}: added zkl header)
(→‎{{header|zkl}}: added code)
Line 231: Line 231:


=={{header|zkl}}==
=={{header|zkl}}==
{{libheader|GMP}} GNU Multiple Precision Arithmetic Library
<lang zkl></lang>
Using GMP ( probabilistic primes),
<lang zkl></lang>
because it is easy and fast to generate primes.

[[Extensible prime generator#zkl]] could be used instead.
<lang zkl>var [const] BI=Import("zklBigNum"); // libGMP
var [const] primeBitMap=Data(100_000).fill(0);

spds:=Walker.zero().tweak(fcn(ps){
primeBitMap[ p:=ps.nextPrime().toInt() ]=1;
if(p.split().filter( fcn(n){ 0==primeBitMap[n] }) ) return(Void.Skip);
p // 733 --> (7,3,3) --> () --> good, 29 --> (2,9) --> (9) --> bad
}.fp(BI(1)));</lang>
<lang zkl>println("The first 25 terms of the Smarandache prime-digital sequence are:");
spds.walk(25).concat(",").println();

println("The hundredth term of the sequence is: ",spds.drop(100-25).value);</lang>
{{out}}
{{out}}
<pre>
<pre>
The first 25 terms of the Smarandache prime-digital sequence are:

2,3,5,7,23,37,53,73,223,227,233,257,277,337,353,373,523,557,577,727,733,757,773,2237,2273
The hundredth term of the sequence is: 33223
</pre>
</pre>