Magnanimous numbers: Difference between revisions

Content added Content deleted
m (→‎{{header|C}}: Use C89 comment style.)
(Realize in F#)
Line 137: Line 137:
</pre>
</pre>


=={{header|F_Sharp|F#}}==
===The function===
This task uses [http://www.rosettacode.org/wiki/Extensible_prime_generator#The_function Extensible Prime Generator (F#)]
<lang fsharp>
// Generate Magnanimous numbers. Nigel Galloway: March 20th., 2020
let rec fN n g = match (g/n,g%n) with
(0,_) -> true
|(α,β) when isPrime (α+β) -> fN (n*10) g
|_ -> false
let Magnanimous = let Magnanimous = fN 10 in seq{yield! {0..9}; yield! Seq.initInfinite id |> Seq.skip 10 |> Seq.filter Magnanimous}
</lang>
===The Tasks===
;First 45

<lang fsharp>
Magnanimous |> Seq.take 45 |> Seq.iter (printf "%d "); printfn ""
</lang>
{{out}}
<pre>
0 1 2 3 4 5 6 7 8 9 11 12 14 16 20 21 23 25 29 30 32 34 38 41 43 47 49 50 52 56 58 61 65 67 70 74 76 83 85 89 92 94 98 101 110
</pre>
;Magnanimous[241] to Magnanimous[250]

<lang fsharp>
Magnanimous |> Seq.skip 240 |> Seq.take 10 |> Seq.iter (printf "%d "); printfn "";;
</lang>
{{out}}
<pre>
17992 19972 20209 20261 20861 22061 22201 22801 22885 24407
</pre>
;Magnanimous[391] to Magnanimous[400]

<lang fsharp>
Magnanimous |> Seq.skip 390 |> Seq.take 10 |> Seq.iter (printf "%d "); printfn "";;
</lang>
{{out}}
<pre>
486685 488489 515116 533176 551558 559952 595592 595598 600881 602081
</pre>
=={{header|Factor}}==
=={{header|Factor}}==
{{works with|Factor|0.99 2020-01-23}}
{{works with|Factor|0.99 2020-01-23}}