Ormiston pairs: Difference between revisions

Content added Content deleted
Line 347: Line 347:
'''Preliminaries'''
'''Preliminaries'''
<syntaxhighlight lang=jq>
<syntaxhighlight lang=jq>
# return an array, $a, of length .+1 or .+2 such that
# Assuming . > 2, return an array, $a, of length .+1 such that
# $a[$i] is $i if $i is prime, and false otherwise.
# $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] = false)
reduce range(2; (1 + length) / i) as $j (.; .[i * $j] = null)
else .
else .
end;
end;