Double Twin Primes: Difference between revisions

Content added Content deleted
(→‎{{header|jq}}: tweak def primeSieve:)
(Created Nim solution.)
Line 599: Line 599:
printdt(1000)
printdt(1000)
</syntaxhighlight>{{out}} Same as C example.
</syntaxhighlight>{{out}} Same as C example.

=={{header|Nim}}==
<syntaxhighlight lang="Nim">import std/strformat

func isPrime(n: Positive): bool =
if n < 2: return false
if (n and 1) == 0: return n == 2
if n mod 3 == 0: return n == 3
var k = 5
var delta = 2
while k * k <= n:
if n mod k == 0: return false
inc k, delta
delta = 6 - delta
result = true

echo "Double twin primes under 1000:"
for n in countup(3, 991, 2):
if isPrime(n) and isPrime(n + 2) and isPrime(n + 6) and isPrime(n + 8):
echo &"({n:>3}, {n+2:>3}, {n+6:>3}, {n+8:>3})"
</syntaxhighlight>

{{out}}
<pre>( 5, 7, 11, 13)
( 11, 13, 17, 19)
(101, 103, 107, 109)
(191, 193, 197, 199)
(821, 823, 827, 829)
</pre>


=={{header|Perl}}==
=={{header|Perl}}==