Ormiston pairs: Difference between revisions
Content added Content deleted
m (→{{header|jq}}: tidy) |
|||
Line 347: | Line 347: | ||
'''Preliminaries''' |
'''Preliminaries''' |
||
<syntaxhighlight lang=jq> |
<syntaxhighlight lang=jq> |
||
# return an array, $a, of length .+1 |
# Assuming . > 2, return an array, $a, of length .+1 such that |
||
# $a[$i] is $i if $i is prime, and |
# $a[$i] is $i if $i is prime, and null otherwise. |
||
def primeSieve: |
def primeSieve: |
||
# erase(i) sets .[i*j] to false for integral j > 1 |
# erase(i) sets .[i*j] to false for integral j > 1 |
||
def erase(i): |
def erase(i): |
||
if .[i] then |
if .[i] then |
||
reduce range(2; (1 + length) / i) as $j (.; .[i * $j] = |
reduce range(2; (1 + length) / i) as $j (.; .[i * $j] = null) |
||
else . |
else . |
||
end; |
end; |