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}}== |