Program to find sum of prime numbers between 1 to n - GeeksforGeeks

27 Jan, 2022
Write a program to find sum of all prime numbers between 1 to n.Examples:  
Input : 10
Output : 17
Explanation : Primes between 1 to 10 : 2, 3, 5, 7.

Input : 11
Output : 28
Explanation : Primes between 1 to 11 : 2, 3, 5, 7, 11.
 
A simple solution is to traverse all numbers from 1 to n. For every number, check if it is a prime. If yes, add it to result.An efficient solution is to use Sieve of Eratosthenes to find all prime numbers from till n and then do their sum. 
C++
Java
Python3
C#
PHP
Javascript
// C++ program to find sum of primes in// range from 1 to n.#include <bits/stdc++.h>using namespace std; // Returns sum of primes in range from// 1 to n.int sumOfPrimes(int n){    // Array to store prime numbers    bool prime[n + 1];     // Create a boolean array "prime[0..n]"    // and initialize all entries it as true.    // A value in prime[i] will finally be    // false if i is Not a prime, else true.    memset(prime, true, n + 1);     for (int p = 2; p * p <= n; p++) {         // If prime[p] is not changed, then        // it is a prime        if (prime[p] == true) {             // Update all multiples of p            for (int i = p * 2; i <= n; i += p)                prime[i] = false;        }    }     // Return sum of primes generated through    // Sieve.    int sum = 0;    for (int i = 2; i <= n; i++)        if (prime[i])            sum += i;    return sum;} // Driver codeint main(){    int n = 11;    cout << sumOfPrimes(n);    return 0;}
// Java program to find// sum of primes in// range from 1 to n.import java.io.*;import java.util.*; class GFG {         // Returns sum of primes    // in range from    // 1 to n.    static int sumOfPrimes(int n)    {        // Array to store prime numbers        boolean prime[]=new boolean[n + 1];              // Create a boolean array "prime[0..n]"        // and initialize all entries it as true.        // A value in prime[i] will finally be        // false if i is Not a prime, else true.        Arrays.fill(prime, true);              for (int p = 2; p * p <= n; p++) {                  // If prime[p] is not changed, then            // it is a prime            if (prime[p] == true) {                      // Update all multiples of p                for (int i = p * 2; i <= n; i += p)                    prime[i] = false;            }        }              // Return sum of primes generated through        // Sieve.        int sum = 0;        for (int i = 2; i <= n; i++)            if (prime[i])                sum += i;        return sum;    }     // Driver code    public static void main(String args[])    {        int n = 11;        System.out.print(sumOfPrimes(n));    }}  // This code is contributed// by Nikita Tiwari.
# Python program to find sum of primes# in range from 1 to n. # Returns sum of primes in range from# 1 to n def sumOfPrimes(n):    # list to store prime numbers    prime = [True] * (n + 1)         # Create a boolean array "prime[0..n]"    # and initialize all entries it as true.    # A value in prime[i] will finally be    # false if i is Not a prime, else true.         p = 2    while p * p <= n:        # If prime[p] is not changed, then        # it is a prime        if prime[p] == True:            # Update all multiples of p            i = p * 2            while i <= n:                prime[i] = False                i += p        p += 1                 # Return sum of primes generated through    # Sieve.    sum = 0    for i in range (2, n + 1):        if(prime[i]):            sum += i    return sum # Driver coden = 11print(sumOfPrimes(n)) # This code is contributed by Sachin Bisht
// C# program to find// sum of primes in// range from 1 to n.using System; class GFG {         // Returns sum of primes    // in range from    // 1 to n.    static int sumOfPrimes(int n)    {                 // Array to store prime numbers        bool []prime=new bool[n + 1];             // Create a boolean array "prime[0..n]"        // and initialize all entries it as true.        // A value in prime[i] will finally be        // false if i is Not a prime, else true.        for(int i = 0; i < n + 1; i++)        prime[i] = true;                           for (int p = 2; p * p <= n; p++)        {                 // If prime[p] is not changed,            // then it is a prime            if (prime[p] == true)            {                     // Update all multiples of p                for (int i = p * 2; i <= n; i += p)                    prime[i] = false;            }        }             // Return sum of primes        // generated  through Sieve.        int sum = 0;        for (int i = 2; i <= n; i++)            if (prime[i])                sum += i;        return sum;    }     // Driver code    public static void Main()    {        int n = 11;        Console.Write(sumOfPrimes(n));    }} // This code is contributed by nitin mittal.
<?php// PHP program to find// sum of primes in// range from 1 to n. // Returns sum of primes// in range from 1 to n.function sumOfPrimes($n){    // Array to store prime    // numbers bool prime[n + 1];    // Create a boolean array    // "prime[0..n]" and initialize    // all entries it as true.    // A value in prime[i] will    // finally be false if i is Not    // a prime, else true.         $prime = array_fill(0, $n + 1, true);    for ($p = 2;         $p * $p <= $n; $p++)    {         // If prime[p] is not changed,        // then it is a prime        if ($prime[$p] == true)        {             // Update all multiples of p            for ($i = $p * 2;                 $i <= $n; $i += $p)                $prime[$i] = false;        }    }     // Return sum of primes    // generated through Sieve.    $sum = 0;    for ($i = 2; $i <= $n; $i++)        if ($prime[$i])            $sum += $i;    return $sum;} // Driver code$n = 11;echo sumOfPrimes($n);     // This code is contributed// by ajit?>
<script>    // Javascript program to find    // sum of primes in    // range from 1 to n.         // Returns sum of primes    // in range from    // 1 to n.    function sumOfPrimes(n)    {                   // Array to store prime numbers        let prime = new Array(n + 1);               // Create a boolean array "prime[0..n]"        // and initialize all entries it as true.        // A value in prime[i] will finally be        // false if i is Not a prime, else true.        for(let i = 0; i < n + 1; i++)            prime[i] = true;                                 for (let p = 2; p * p <= n; p++)        {                   // If prime[p] is not changed,            // then it is a prime            if (prime[p] == true)            {                       // Update all multiples of p                for (let i = p * 2; i <= n; i += p)                    prime[i] = false;            }        }               // Return sum of primes        // generated  through Sieve.        let sum = 0;        for (let i = 2; i <= n; i++)            if (prime[i])                sum += i;        return sum;    }         let n = 11;      document.write(sumOfPrimes(n));     </script>
Output:  
28
This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
nitin mittal
jit_t
rameshtravel07
amartyaghoshgfg
Prime Number
Samsung
sieve
Mathematical
Samsung
Mathematical
Prime Number
sieve
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Merge two sorted arrays
Modulo Operator (%) in C/C++ with Examples
Prime Numbers
Program for Decimal to Binary Conversion
Program to find sum of elements in a given array
The Knight's tour problem | Backtracking-1
Find all factors of a natural number | Set 1
Program for factorial of a number
Operators in C / C++
Minimum number of jumps to reach end