Repunit primes: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (added Arturo) |
(Added Algol 68) |
||
Line 48: | Line 48: | ||
=={{header|ALGOL 68}}== |
|||
{{works with|ALGOL 68G|Any - tested with release 2.8.3.win32}} |
|||
<syntaxhighlight lang="algol68"> |
|||
BEGIN # find repunit (all digits are 1 ) primes in various bases # |
|||
INT max base = 16; |
|||
INT max repunit digits = 1000; |
|||
PR precision 3000 PR # set precision of LONG LONG INT # |
|||
# 16^1000 has ~1200 digits but the primality test needs more # |
|||
PR read "primes.incl.a68" PR # include prime utilities # |
|||
[]BOOL prime = PRIMESIEVE max repunit digits; |
|||
FOR base FROM 2 TO max base DO |
|||
LONG LONG INT repunit := 1; |
|||
print( ( whole( base, -2 ), ":" ) ); |
|||
FOR digits TO max repunit digits DO |
|||
IF prime[ digits ] THEN |
|||
IF is probably prime( repunit ) THEN |
|||
# found a prime repunit in the current base # |
|||
print( ( " ", whole( digits, 0 ) ) ) |
|||
FI |
|||
FI; |
|||
repunit *:= base +:= 1 |
|||
OD; |
|||
print( ( newline ) ) |
|||
OD |
|||
END |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
2: 2 3 5 7 13 17 19 31 61 89 107 127 521 607 |
|||
3: 3 7 13 71 103 541 |
|||
4: 2 |
|||
5: 3 7 11 13 47 127 149 181 619 929 |
|||
6: 2 3 7 29 71 127 271 509 |
|||
7: 5 13 131 149 |
|||
8: 3 |
|||
9: |
|||
10: 2 19 23 317 |
|||
11: 17 19 73 139 907 |
|||
12: 2 3 5 19 97 109 317 353 701 |
|||
13: 5 7 137 283 883 991 |
|||
14: 3 7 19 31 41 |
|||
15: 3 43 73 487 |
|||
16: 2 |
|||
</pre> |
|||
=={{header|Arturo}}== |
=={{header|Arturo}}== |