Open In App

Program to find sum of prime numbers between 1 to n

Improve
Improve
Like Article
Like
Save
Share
Report

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)

 



Last Updated : 30 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads