Penta-power prime seeds: Difference between revisions
Content added Content deleted
(→{{header|FreeBASIC}}: correct program) |
(Created Nim solution.) |
||
Line 599: | Line 599: | ||
207285 |
207285 |
||
<terminated> |
<terminated> |
||
</pre> |
|||
=={{header|Nim}}== |
|||
<syntaxhighlight lang=Nim>import std/[strformat, strutils] |
|||
import integers |
|||
func isPentaPowerPrimeSeeds(n: Integer): bool = |
|||
var p = newInteger(1) |
|||
var n1 = n + 1 |
|||
for _ in 0..4: |
|||
if not isPrime(p + n1): return false |
|||
p *= n |
|||
result = true |
|||
const N = 10_000_000 |
|||
echo "First 30 penta-power prime seeds:" |
|||
var count = 0 |
|||
var n = 1 |
|||
while true: |
|||
if n.isPentaPowerPrimeSeeds(): |
|||
inc count |
|||
if count <= 30: |
|||
stdout.write &"{n:7}" |
|||
stdout.write if count mod 6 == 0: '\n' else: ' ' |
|||
if count == 30: echo() |
|||
elif n > N: |
|||
echo &"First penta-power prime seed greater than {insertSep($N)} " & |
|||
&"is {insertSep($n)} at position {count}." |
|||
break |
|||
inc n, 2 |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>First 30 penta-power prime seeds: |
|||
1 5 69 1665 2129 25739 |
|||
29631 62321 77685 80535 82655 126489 |
|||
207285 211091 234359 256719 366675 407945 |
|||
414099 628859 644399 770531 781109 782781 |
|||
923405 1121189 1158975 1483691 1490475 1512321 |
|||
First penta-power prime seed greater than 10_000_000 is 10_347_035 at position 72. |
|||
</pre> |
</pre> |
||