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.