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>