Check if sum of first n primes is prime: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
I deleted it because exists a similar '''Summarize primes''' task.
{{Draft task}}
<br>Gal Zsolt (CalmoSoft)

;Task:Check if sum of first '''n''' primes is prime, where '''n <= 20'''

<br><br>

=={{header|Julia}}==
<lang julia>using Primes
</lang>
The sum of the first 20 primes is
<lang julia>julia> sum(prime(i) for i in 1:20)
639
</lang>
So, with a bit of experimentation, we find that to duplicate the Ring result we need to sum up to the first 158 primes, which then
gives us 20 prime results when we filter for a prime number as the sum:
<lang julia>julia> filter(p -> isprime(last(p)), accumulate(+, primes(prime(158))) |> enumerate |> collect)
20-element Vector{Tuple{Int64, Int64}}:
(1, 2)
(2, 5)
(4, 17)
(6, 41)
(12, 197)
(14, 281)
(60, 7699)
(64, 8893)
(96, 22039)
(100, 24133)
(102, 25237)
(108, 28697)
(114, 32353)
(122, 37561)
(124, 38921)
(130, 43201)
(132, 44683)
(146, 55837)
(152, 61027)
(158, 66463)
</lang>

=={{header|Ring}}==
<lang ring>
load "stdlib.ring"
see "working..." + nl
see "Sum of first primes is prime:" + nl
n = 0
num = 0
primSum = 0

while true
n++
if isprime(n)
primSum += n
if isprime(primSum)
num++
see "n" + "(" + num + ") = " + primsum + " is prime" + nl
ok
ok
if num = 20
exit
ok
end

see "done..." + nl
</lang>
{{out}}
<pre>
working...
Sum of first primes is prime:
n(1) = 2 is prime
n(2) = 5 is prime
n(3) = 17 is prime
n(4) = 41 is prime
n(5) = 197 is prime
n(6) = 281 is prime
n(7) = 7699 is prime
n(8) = 8893 is prime
n(9) = 22039 is prime
n(10) = 24133 is prime
n(11) = 25237 is prime
n(12) = 28697 is prime
n(13) = 32353 is prime
n(14) = 37561 is prime
n(15) = 38921 is prime
n(16) = 43201 is prime
n(17) = 44683 is prime
n(18) = 55837 is prime
n(19) = 61027 is prime
n(20) = 66463 is prime
done...
</pre>

Latest revision as of 10:35, 23 July 2021

I deleted it because exists a similar Summarize primes task.
Gal Zsolt (CalmoSoft)