Check if sum of first n primes is prime: Difference between revisions
Content added Content deleted
No edit summary |
(Blanked the page) |
||
Line 1: | Line 1: | ||
{{Draft task}} |
|||
;Task:Check if sum of first '''n''' primes is prime, where '''n <= 158''' |
|||
<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 |
|||
nr = 0 |
|||
num = 0 |
|||
primSum = 0 |
|||
while true |
|||
n++ |
|||
if isprime(n) |
|||
nr++ |
|||
primSum += n |
|||
if isprime(primSum) |
|||
num++ |
|||
see "n" + "(" + nr + ") = " + 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(4) = 17 is prime |
|||
n(6) = 41 is prime |
|||
n(12) = 197 is prime |
|||
n(14) = 281 is prime |
|||
n(60) = 7699 is prime |
|||
n(64) = 8893 is prime |
|||
n(96) = 22039 is prime |
|||
n(100) = 24133 is prime |
|||
n(102) = 25237 is prime |
|||
n(108) = 28697 is prime |
|||
n(114) = 32353 is prime |
|||
n(122) = 37561 is prime |
|||
n(124) = 38921 is prime |
|||
n(130) = 43201 is prime |
|||
n(132) = 44683 is prime |
|||
n(146) = 55837 is prime |
|||
n(152) = 61027 is prime |
|||
n(158) = 66463 is prime |
|||
done... |
|||
</pre> |