Equal prime and composite sums: Difference between revisions
Content added Content deleted
(→{{header|jq}}: simplify) |
|||
Line 60: | Line 60: | ||
See [[Erdős-primes#jq]] for a suitable definition of `is_prime` as used here. |
See [[Erdős-primes#jq]] for a suitable definition of `is_prime` as used here. |
||
The program given in this entry requires foreknowledge of the appropriate size of the Eratosthenes sieve. |
The program given in this entry requires foreknowledge of the appropriate size of the (virtual) Eratosthenes sieve. |
||
⚫ | |||
⚫ | |||
def primeSieve: [range(0;.) | if is_prime then . else false end]; |
|||
def task($sievesize): |
def task($sievesize): |
||
{compSums:[], |
|||
($sievesize | primeSieve) as $p |
|||
primeSums:[], |
|||
csum:0, |
|||
psum:0 } |
|||
psum:0 } |
|||
| reduce range(2; $sievesize) as $i (.; |
| reduce range(2; $sievesize) as $i (.; |
||
if |
if $i|is_prime |
||
then . |
then .psum += $i |
||
⚫ | |||
⚫ | |||
| .compSums += [ .csum ] |
| .compSums += [ .csum ] |
||
else |
|||
⚫ | |||
⚫ | |||
end) |
end) |
||
| range(0; .primeSums|length) as $i |
| range(0; .primeSums|length) as $i |
||
Line 83: | Line 80: | ||
| (.compSums | index( $ps )) as $ix |
| (.compSums | index( $ps )) as $ix |
||
| select($ix >= 0) |
| select($ix >= 0) |
||
| "\($ps|lpad(21)) - \($i+1|lpad(21)) prime sum, \($ix|lpad(12)) composite sum" |
| "\($ps|lpad(21)) - \($i+1|lpad(21)) prime sum, \($ix+1|lpad(12)) composite sum" |
||
; |
; |
||