Anaprimes: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: Pay attention, Pete...) |
(Realize in F#) |
||
Line 125: | Line 125: | ||
</pre> |
</pre> |
||
=={{header|F_Sharp|F#}}== |
|||
This task uses [http://www.rosettacode.org/wiki/Extensible_prime_generator#The_functions Extensible Prime Generator (F#)] |
|||
<syntaxhighlight lang="fsharp"> |
|||
// Anaprimes. Nigel Galloway: February 2nd., 2023 |
|||
let fN g=let i=Array.zeroCreate<int>10 |
|||
let rec fN g=if g<10 then i[g]<-i[g]+1 else i[g%10]<-i[g%10]+1; fN (g/10) |
|||
fN g; i |
|||
let aP n=let _,n=primes32()|>Seq.skipWhile((>)(pown 10 (n-1)))|>Seq.takeWhile((>)(pown 10 n-1))|>Seq.groupBy fN|>Seq.maxBy(fun(_,n)->Seq.length n) |
|||
let n=Array.ofSeq n |
|||
(n.Length,Array.min n,Array.max n) |
|||
[3..9]|>List.map aP|>List.iteri(fun i (n,g,l)->printfn $"%d{i+3} digits: Count=%d{n} Min=%d{g} Max=%d{l}") |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
3 digits: Count=4 Min=149 Max=941 |
|||
4 digits: Count=11 Min=1237 Max=7321 |
|||
5 digits: Count=39 Min=13789 Max=98731 |
|||
6 digits: Count=148 Min=123479 Max=974213 |
|||
7 digits: Count=731 Min=1235789 Max=9875321 |
|||
8 digits: Count=4333 Min=12345769 Max=97654321 |
|||
9 digits: Count=26519 Min=102345697 Max=976542103 |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |
||
{{trans|Wren}} |
{{trans|Wren}} |