Jump to content

Equal prime and composite sums: Difference between revisions

(→‎{{header|jq}}: simplify)
Line 60:
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 (virtual) Eratosthenes sieve.
<lang jq>def lpad($len): tostring | ($len - length) as $l | (" " * $l)[:$l] +.;
 
<lang jq>def lpad($len): tostring | ($len - length) as $l | (" " * $l)[:$l] +.;
def primeSieve: [range(0;.) | if is_prime then . else false end];
 
def task($sievesize):
{compSums:[],
($sievesize | primeSieve) as $p
| {compSumsprimeSums:[0],
primeSumscsum:[]0,
csumpsum:0, }
psum:0 }
| reduce range(2; $sievesize) as $i (.;
if $p[$i] == false|is_prime
then .csumpsum += $i
| .primeSums += [.psum]
else .psumcsum += $i
| .compSums += [ .csum ]
else
.psum += $i
| .primeSums += [.psum]
end)
| range(0; .primeSums|length) as $i
Line 83 ⟶ 80:
| (.compSums | index( $ps )) as $ix
| select($ix >= 0)
| "\($ps|lpad(21)) - \($i+1|lpad(21)) prime sum, \($ix+1|lpad(12)) composite sum"
;
 
2,484

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.