First 9 prime Fibonacci number: Difference between revisions
Content added Content deleted
No edit summary |
(Created Nim solution.) |
||
Line 1,221: | Line 1,221: | ||
25 F(9311) = 34232 … 76289 (1946 digits) |
25 F(9311) = 34232 … 76289 (1946 digits) |
||
26 F(9677) = 10565 … 70357 (2023 digits)</pre> |
26 F(9677) = 10565 … 70357 (2023 digits)</pre> |
||
=={{header|Nim}}== |
|||
<syntaxhighlight lang="Nim">func isPrime(n: Natural): bool = |
|||
## Return "true" is "n" is prime. |
|||
if n < 2: return false |
|||
if (n and 1) == 0: return n == 2 |
|||
if n mod 3 == 0: return n == 3 |
|||
var d = 5 |
|||
var step = 2 |
|||
while d * d <= n: |
|||
if n mod d == 0: |
|||
return false |
|||
inc d, step |
|||
step = 6 - step |
|||
return true |
|||
iterator fib(): int = |
|||
var prev = 0 |
|||
var curr = 1 |
|||
while true: |
|||
yield curr |
|||
swap prev, curr |
|||
inc curr, prev |
|||
echo "The first 9 prime Fibonacci numbers are:" |
|||
var count = 0 |
|||
for n in fib(): |
|||
if n.isPrime: |
|||
stdout.write n, ' ' |
|||
inc count |
|||
if count == 9: |
|||
echo() |
|||
break |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>The first 9 prime Fibonacci numbers are: |
|||
2 3 5 13 89 233 1597 28657 514229 |
|||
</pre> |
|||
=={{header|OCaml}}== |
=={{header|OCaml}}== |