Primes: n*2^m+1: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (added Arturo) |
(Created Nim solution.) |
||
Line 1,153: | Line 1,153: | ||
399 2 1597 |
399 2 1597 |
||
400 0 401 |
400 0 401 |
||
</pre> |
|||
=={{header|Nim}}== |
|||
<syntaxhighlight lang = "Nim">import std/strformat |
|||
func isPrime(n: Natural): 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 " n m prime" |
|||
for n in 1..45: |
|||
var m = 0 |
|||
var term = n |
|||
while true: |
|||
if isPrime(term + 1): |
|||
echo &"{n:2} {m} {term + 1:5}" |
|||
break |
|||
inc m |
|||
term *= 2 |
|||
</syntaxhighlight> |
|||
<pre> n m prime |
|||
1 0 2 |
|||
2 0 3 |
|||
3 1 7 |
|||
4 0 5 |
|||
5 1 11 |
|||
6 0 7 |
|||
7 2 29 |
|||
8 1 17 |
|||
9 1 19 |
|||
10 0 11 |
|||
11 1 23 |
|||
12 0 13 |
|||
13 2 53 |
|||
14 1 29 |
|||
15 1 31 |
|||
16 0 17 |
|||
17 3 137 |
|||
18 0 19 |
|||
19 6 1217 |
|||
20 1 41 |
|||
21 1 43 |
|||
22 0 23 |
|||
23 1 47 |
|||
24 2 97 |
|||
25 2 101 |
|||
26 1 53 |
|||
27 2 109 |
|||
28 0 29 |
|||
29 1 59 |
|||
30 0 31 |
|||
31 8 7937 |
|||
32 3 257 |
|||
33 1 67 |
|||
34 2 137 |
|||
35 1 71 |
|||
36 0 37 |
|||
37 2 149 |
|||
38 5 1217 |
|||
39 1 79 |
|||
40 0 41 |
|||
41 1 83 |
|||
42 0 43 |
|||
43 2 173 |
|||
44 1 89 |
|||
45 2 181 |
|||
</pre> |
</pre> |
||