Smarandache-Wellin primes: Difference between revisions

Content added Content deleted
(Realize in F#)
Line 164: Line 164:
</pre>
</pre>


=={{header|F_Sharp|F#}}==
<syntaxhighlight lang="fsharp">
// Smarandache-Wellin primes. Nigel Galloway: April 3rd., 2023
let izP(g,_,_,_)=let mutable g=System.Numerics.BigInteger.Parse g
Open.Numeric.Primes.MillerRabin.IsProbablePrime &g
let fN g="0123456789"+g|>Seq.countBy id|>Seq.map(fun(_,g)->string(g-1))|>Seq.fold((+))""
let sw()=primes32()|>Seq.scan(fun(n,i,g,e)l->let a=string l in (n+a,l,g+1,e+(String.length a)))("",0,0,0)|>Seq.skip 1
sw()|>Seq.filter izP|>Seq.take 3|>Seq.iter(fun(i,_,_,_)->printf "%s " i); printfn ""
sw()|>Seq.filter izP|>Seq.take 7|>Seq.iter(fun(_,n,g,l)->printfn "index %4d: digits %4d last prime %d" g l n); printfn ""
sw()|>Seq.map(fun(i,g,e,l)->(fN i,g,e,l))|>Seq.filter izP|>Seq.take 20|>Seq.iter(fun(n,_,g,_)->printfn $"index %4d{g}: prime %s{n}")
</syntaxhighlight>
{{out}}
<pre>
2 23 2357
index 1: digits 1 last prime 2
index 2: digits 2 last prime 3
index 4: digits 4 last prime 7
index 128: digits 355 last prime 719
index 174: digits 499 last prime 1033
index 342: digits 1171 last prime 2297
index 435: digits 1543 last prime 3037
index 32: prime 4194123321127
index 72: prime 547233879626521
index 73: prime 547233979727521
index 134: prime 13672766322929571043
index 225: prime 3916856106393739943689
index 303: prime 462696313560586013558131
index 309: prime 532727113760586013758133
index 363: prime 6430314317473636515467149
index 462: prime 8734722823685889120488197
index 490: prime 9035923128899919621189209
index 495: prime 9036023329699969621389211
index 522: prime 9337023533410210710923191219
index 538: prime 94374237357103109113243102223
index 624: prime 117416265406198131121272110263
index 721: prime 141459282456260193137317129313
index 738: prime 144466284461264224139325131317
index 790: prime 156483290479273277162351153339
index 852: prime 164518312512286294233375158359
index 1087: prime 208614364610327343341589284471
index 1188: prime 229667386663354357356628334581
</pre>
=={{header|Go}}==
=={{header|Go}}==
{{trans|Wren}}
{{trans|Wren}}