Summation of primes: Difference between revisions

From Rosetta Code
Content added Content deleted
(add fermat)
Line 21: Line 21:
print sum</lang>
print sum</lang>
{{out}}<pre>142913828922</pre>
{{out}}<pre>142913828922</pre>

=={{header|Fermat}}==
<lang fermat>s:=2;
for p=3 to 1999999 by 2 do if Isprime(p) then s:=s+p fi od;
!!s;</lang>
{{out}}<pre>142913828922</pre>



=={{header|Go}}==
=={{header|Go}}==

Revision as of 09:36, 8 November 2021

Summation of primes is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task


The task description is taken from Project Euler (https://projecteuler.net/problem=10)
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17
Find the sum of all the primes below two million

BASIC

FreeBASIC

<lang freebasic>#include "isprime.bas"

dim as integer sum = 2, i, n=1 for i = 3 to 2000000 step 2

   if isprime(i) then
       sum += i
       n+=1
   end if

next i

print sum</lang>

Output:
142913828922

Fermat

<lang fermat>s:=2; for p=3 to 1999999 by 2 do if Isprime(p) then s:=s+p fi od; !!s;</lang>

Output:
142913828922


Go

Library: Go-rcu

<lang go>package main

import (

   "fmt"
   "rcu"

)

func main() {

   sum := 0
   for _, p := range rcu.Primes(2e6 - 1) {
       sum += p
   }
   fmt.Printf("The sum of all primes below 2 million is %s.\n", rcu.Commatize(sum))

}</lang>

Output:
The sum of all primes below 2 million is 142,913,828,922.

PARI/GP

<lang parigp> s=2; p=3 while(p<2000000,if(isprime(p),s=s+p);p=p+2) print(s) </lang>

Output:

142913828922

Ring

<lang ring> load "stdlib.ring" see "working..." + nl sum = 2 limit = 2000000

for n = 3 to limit step 2

   if isprime(n)
      sum += n
   ok

next

see "The sum of all the primes below two million:" + nl see "" + sum + nl see "done..." + nl </lang>

Output:
working...
The sum of all the primes below two million:
142,913,828,922
done...

Wren

Library: Wren-math
Library: Wren-fmt

<lang ecmascript>import "./math" for Int, Nums import "./fmt" for Fmt

Fmt.print("The sum of all primes below 2 million is $,d.", Nums.sum(Int.primeSieve(2e6-1)))</lang>

Output:
The sum of all primes below 2 million is 142,913,828,922.