# Program to find sum of prime numbers between 1 to n

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

 ``

## Javascript

 ``

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.