Find adjacent primes which differ by a square integer: Difference between revisions
Content added Content deleted
(→{{header|Ruby}}: Add Ruby) |
Alextretyak (talk | contribs) (Added 11l) |
||
Line 4: | Line 4: | ||
<br>Find adjacent primes under '''1,000,000''' whose difference '''(> 36)''' is a square integer. |
<br>Find adjacent primes under '''1,000,000''' whose difference '''(> 36)''' is a square integer. |
||
<br><br> |
<br><br> |
||
=={{header|11l}}== |
|||
<lang 11l>F primes_upto(limit) |
|||
V is_prime = [0B] * 2 [+] [1B] * (limit - 1) |
|||
L(n) 0 .< Int(limit ^ 0.5 + 1.5) |
|||
I is_prime[n] |
|||
L(i) (n * n .. limit).step(n) |
|||
is_prime[i] = 0B |
|||
R enumerate(is_prime).filter((i, prime) -> prime).map((i, prime) -> i) |
|||
V primes = primes_upto(1'000'000) |
|||
F is_square(x) |
|||
R Int(sqrt(x)) ^ 2 == x |
|||
L(n) 2 .< primes.len |
|||
V pr1 = primes[n] |
|||
V pr2 = primes[n - 1] |
|||
V diff = pr1 - pr2 |
|||
I (is_square(diff) & diff > 36) |
|||
print(pr1‘ ’pr2‘ diff = ’diff)</lang> |
|||
{{out}} |
|||
<pre> |
|||
89753 89689 diff = 64 |
|||
107441 107377 diff = 64 |
|||
288647 288583 diff = 64 |
|||
368021 367957 diff = 64 |
|||
381167 381103 diff = 64 |
|||
396833 396733 diff = 100 |
|||
400823 400759 diff = 64 |
|||
445427 445363 diff = 64 |
|||
623171 623107 diff = 64 |
|||
625763 625699 diff = 64 |
|||
637067 637003 diff = 64 |
|||
710777 710713 diff = 64 |
|||
725273 725209 diff = 64 |
|||
779477 779413 diff = 64 |
|||
801947 801883 diff = 64 |
|||
803813 803749 diff = 64 |
|||
821741 821677 diff = 64 |
|||
832583 832519 diff = 64 |
|||
838349 838249 diff = 100 |
|||
844841 844777 diff = 64 |
|||
883871 883807 diff = 64 |
|||
912167 912103 diff = 64 |
|||
919511 919447 diff = 64 |
|||
954827 954763 diff = 64 |
|||
981887 981823 diff = 64 |
|||
997877 997813 diff = 64 |
|||
</pre> |
|||
=={{header|ALGOL 68}}== |
=={{header|ALGOL 68}}== |
||
Line 60: | Line 111: | ||
997877 - 997813 = 64 |
997877 - 997813 = 64 |
||
</pre> |
</pre> |
||
=={{header|AWK}}== |
=={{header|AWK}}== |
||
<lang AWK> |
<lang AWK> |