Quad-power prime seeds: Difference between revisions

Created Nim solution.
m (→‎{{header|FreeBASIC}}: replaced program with faster version)
(Created Nim solution.)
Line 481:
9 million is the 645th: 9,055,151
10 million is the 701st: 10,023,600
</pre>
 
=={{header|Nim}}==
{{libheader|Nim-Integers}}
<syntaxhighlight lang="Nim">import std/[strformat, strutils]
import integers
 
func isQuadPowerPrimeSeeds(n: Integer): bool =
var p = newInteger(n)
var n1 = n + 1
for _ in 1..4:
if not isPrime(p + n1): return false
p *= n
result = true
 
const N = 1_000_000
 
echo "First 30 quad-power prime seeds:"
var count = 0
var n = 1
var limit = N
while true:
if n.isQuadPowerPrimeSeeds():
inc count
if count <= 50:
stdout.write &"{n:7}"
stdout.write if count mod 10 == 0: '\n' else: ' '
if count == 50: echo()
elif n > limit:
echo &"First quad-power prime seed greater than {insertSep($limit)} " &
&"is {insertSep($n)} at position {count}."
inc limit, N
if limit > 3 * N: break
inc n
</syntaxhighlight>
 
{{out}}
<pre>First 30 quad-power prime seeds:
1 2 5 6 69 131 426 1665 2129 2696
5250 7929 9689 13545 14154 14286 16434 19760 25739 27809
29631 36821 41819 46619 48321 59030 60500 61955 62321 73610
77685 79646 80535 82655 85251 86996 91014 96566 97739 105939
108240 108681 119754 122436 123164 126489 140636 150480 153179 163070
 
First quad-power prime seed greater than 1_000_000 is 1_009_286 at position 141.
First quad-power prime seed greater than 2_000_000 is 2_015_496 at position 234.
First quad-power prime seed greater than 3_000_000 is 3_005_316 at position 319.
</pre>
 
256

edits