Open In App
Related Articles

Program to find sum of prime numbers between 1 to n

Improve Article
Improve
Save Article
Save
Like Article
Like

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




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


Python3




# 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

Time Complexity: O(nloglogn)

Auxiliary Space: O(n)
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.
 


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 30 Aug, 2022
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials