Quadrat special primes: Difference between revisions
Content added Content deleted
(Added Algol 68) |
(julia example) |
||
Line 108: | Line 108: | ||
10667 11243 11279 11423 12323 12647 12791 13367 13691 14591 14627 14771 |
10667 11243 11279 11423 12323 12647 12791 13367 13691 14591 14627 14771 |
||
15671 |
15671 |
||
</pre> |
|||
=={{header|Julia}}== |
|||
<lang julia>using Primes |
|||
function quadrat(N = 16000) |
|||
pmask = primesmask(1, 2N) |
|||
qprimes = [2] |
|||
while (n = qprimes[end]) < N |
|||
for i in 1:isqrt(N) |
|||
q = n + i * i |
|||
if q > N |
|||
return qprimes |
|||
elseif pmask[q] # got next qprime |
|||
push!(qprimes, q) |
|||
break |
|||
end |
|||
end |
|||
end |
|||
end |
|||
println("Quadrat special primes < 16000:") |
|||
foreach(p -> print(rpad(p[2], 6), p[1] % 10 == 0 ? "\n" : ""), enumerate(quadrat())) |
|||
</lang>{{out}} |
|||
<pre> |
|||
Quadrat special primes < 16000: |
|||
2 3 7 11 47 83 227 263 587 911 |
|||
947 983 1019 1163 1307 1451 1487 1523 1559 2459 |
|||
3359 4259 4583 5483 5519 5843 5879 6203 6779 7103 |
|||
7247 7283 7607 7643 8219 8363 10667 11243 11279 11423 |
|||
12323 12647 12791 13367 13691 14591 14627 14771 15671 |
|||
</pre> |
</pre> |
||