Proper divisors: Difference between revisions

→‎{{header|jq}}: sqrt version
(→‎{{header|jq}}: sqrt version)
Line 124:
<lang jq>def count(stream): reduce stream as $i (0; . + 1);
 
# unordered
def proper_divisors:
. as $n
| range(1; 1 +if ($n /> 21 |then floor)) as $i1,
(sqrt|floor as $s
| if ($n % $i) == 0 then $i else empty end;
| range(2; $s+1) as $i
| if ($n % $i) == 0 then $i else empty end;,
(if $i * $i == $n then empty else ($n / $i) end)
else empty
end)
else empty
end;
 
# The first integer in 1 .. n inclusive
2,496

edits