Related Articles
Program to find sum of prime numbers between 1 to n
• Difficulty Level : Medium
• Last Updated : 24 Jul, 2018

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

## Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

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

 ``

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.

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.

My Personal Notes arrow_drop_up