Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Program to find sum of prime numbers between 1 to n

  • Difficulty Level : Medium
  • Last Updated : 28 Apr, 2021

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.

 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

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++




// 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 code
int main()
{
    int n = 11;
    cout << sumOfPrimes(n);
    return 0;
}

Java




// 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




# 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 code
n = 11
print sumOfPrimes(n)
 
# This code is contributed by Sachin Bisht

C#




// 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
// 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
?>

Javascript




<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 contribute@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.
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :