Sum of primes in odd positions is prime: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 71: | Line 71: | ||
143 823 26,879 |
143 823 26,879 |
||
</pre> |
</pre> |
||
=={{header|Nim}}== |
|||
<lang Nim>import strformat |
|||
template isOdd(n: Natural): bool = (n and 1) != 0 |
|||
template isEven(n: Natural): bool = (n and 1) == 0 |
|||
func isPrime(n: Positive): bool = |
|||
if n == 1: return false |
|||
if n.isEven: return n == 2 |
|||
if n mod 3 == 0: return n == 3 |
|||
var d = 5 |
|||
while d * d <= n: |
|||
if n mod d == 0: return false |
|||
inc d, 2 |
|||
if n mod d == 0: return false |
|||
inc d, 4 |
|||
result = true |
|||
# Compute the sums of primes at odd position. |
|||
echo " i p(i) sum" |
|||
var idx = 0 |
|||
var sum = 0 |
|||
var p = 1 |
|||
while p < 1000: |
|||
inc p |
|||
if p.isPrime: |
|||
inc idx |
|||
if idx.isOdd: |
|||
inc sum, p |
|||
if sum.isPrime: |
|||
echo &"{idx:3} {p:3} {sum:5}"</lang> |
|||
{{out}} |
|||
<pre> i p(i) sum |
|||
1 2 2 |
|||
3 5 7 |
|||
11 31 89 |
|||
27 103 659 |
|||
35 149 1181 |
|||
67 331 5021 |
|||
91 467 9923 |
|||
95 499 10909 |
|||
99 523 11941 |
|||
119 653 17959 |
|||
143 823 26879</pre> |
|||
=={{header|Raku}}== |
=={{header|Raku}}== |
||
<lang perl6>my @odd = grep { ++$ !%% 2 }, grep &is-prime, 2 ..^ 1000; |
<lang perl6>my @odd = grep { ++$ !%% 2 }, grep &is-prime, 2 ..^ 1000; |