Open in App
Not now

# Program to print prime numbers from 1 to N.

• Difficulty Level : Easy
• Last Updated : 13 Mar, 2023

Given a number N, the task is to print the prime numbers from 1 to N.
Examples:

```Input: N = 10
Output: 2, 3, 5, 7

Input: N = 5
Output: 2, 3, 5 ```

Algorithm:

• First, take the number N as input.
• Then use a for loop to iterate the numbers from 1 to N
• Then check for each number to be a prime number. If it is a prime number, print it.

Approach 1:  Now, according to formal definition, a number ‘n’ is prime if it is not divisible by any number other than 1 and n. In other words a number is prime if it is not divisible by any number from 2 to n-1.

Below is the implementation of the above approach:

## C++

 `// C++ program to display Prime numbers till N` `#include ` `using` `namespace` `std;`   `// function to check if a given number is prime` `bool` `isPrime(``int` `n)` `{` `    ``// since 0 and 1 is not prime return false.` `    ``if` `(n == 1 || n == 0)` `        ``return` `false``;`   `    ``// Run a loop from 2 to n-1` `    ``for` `(``int` `i = 2; i < n; i++) {` `        ``// if the number is divisible by i, then n is not a` `        ``// prime number.` `        ``if` `(n % i == 0)` `            ``return` `false``;` `    ``}` `    ``// otherwise, n is prime number.` `    ``return` `true``;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `N = 100;`   `    ``// check for every number from 1 to N` `    ``for` `(``int` `i = 1; i <= N; i++) {` `        ``// check if current number is prime` `        ``if` `(isPrime(i))` `            ``cout << i << ``" "``;` `    ``}`   `    ``return` `0;` `}`

## C

 `// C program to display Prime numbers till N` `#include ` `#include `   `// function to check if a given number is prime` `bool` `isPrime(``int` `n)` `{` `    ``// since 0 and 1 is not prime return false.` `    ``if` `(n == 1 || n == 0)` `        ``return` `false``;`   `    ``// Run a loop from 2 to n-1` `    ``for` `(``int` `i = 2; i < n; i++) {` `        ``// if the number is divisible by i, then n is not a` `        ``// prime number.` `        ``if` `(n % i == 0)` `            ``return` `false``;` `    ``}` `    ``// otherwise, n is prime number.` `    ``return` `true``;` `}`   `// Driver code` `int` `main()` `{` `    ``int` `N = 100;`   `    ``// check for every number from 1 to N` `    ``for` `(``int` `i = 1; i <= N; i++) {` `        ``// check if current number is prime` `        ``if` `(isPrime(i))` `            ``printf``(``"%d "``, i);` `    ``}`   `    ``return` `0;` `}`   `// This code is contributed by Sania Kumari Gupta`

## Java

 `// Java program to display Prime numbers till N` `class` `GFG ` `{` `      ``//function to check if a given number is prime` `     ``static` `boolean` `isPrime(``int` `n){` `          ``//since 0 and 1 is not prime return false.` `          ``if``(n==``1``||n==``0``)``return` `false``;` `  `  `          ``//Run a loop from 2 to n-1` `          ``for``(``int` `i=``2``; i

## Python3

 `# Python3 program to display Prime numbers till N`   `#function to check if a given number is prime` `def` `isPrime(n):` `  ``#since 0 and 1 is not prime return false.` `  ``if``(n``=``=``1` `or` `n``=``=``0``):` `    ``return` `False` `  `  `  ``#Run a loop from 2 to n-1` `  ``for` `i ``in` `range``(``2``,n):` `    ``#if the number is divisible by i, then n is not a prime number.` `    ``if``(n``%``i``=``=``0``):` `      ``return` `False` `  `  `  ``#otherwise, n is prime number.` `  ``return` `True`       `# Driver code` `N ``=` `100``;` `#check for every number from 1 to N` `for` `i ``in` `range``(``1``,N``+``1``):` `  ``#check if current number is prime` `  ``if``(isPrime(i)):` `    ``print``(i,end``=``" "``)`

## C#

 `// C# program to display Prime numbers till N` `using` `System;` `    `  `class` `GFG ` `{` `  `  `     ``//function to check if a given number is prime` `     ``static` `bool` `isPrime(``int` `n){` `        ``//since 0 and 1 is not prime return false.` `        ``if``(n==1||n==0) ``return` `false``;`   `        ``//Run a loop from 2 to n-1` `        ``for``(``int` `i=2; i

## Javascript

 ``

Output

`2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 `

Time Complexity: O(N^2),
Auxiliary Space: O(1)

Approach 2:  For checking if a number is prime or not do we really need to iterate through all the number from 2 to n-1? We already know that a number ‘n’ cannot be divided by any number greater than ‘n/2’. So, according to this logic we only need to iterate through 2 to n/2 since number greater than n/2 cannot divide n.

## C++

 `// C++ program to display Prime numbers till N` `#include ` `using` `namespace` `std;`   `//function to check if a given number is prime` `bool` `isPrime(``int` `n){` `    ``//since 0 and 1 is not prime return false.` `    ``if``(n==1||n==0) ``return` `false``;`   `    ``//Run a loop from 2 to n/2.` `    ``for``(``int` `i=2; i<=n/2; i++) {` `          ``// if the number is divisible by i, then n is not a prime number.` `          ``if``(n%i==0) ``return` `false``;` `    ``}` `    ``//otherwise, n is prime number.` `    ``return` `true``;` `}`     `// Driver code` `int` `main()` `{` `    ``int` `N = 100;`   `    ``//check for every number from 1 to N` `      ``for``(``int` `i=1; i<=N; i++){` `        ``//check if current number is prime` `        ``if``(isPrime(i)) {` `          ``cout << i << ``" "``;` `        ``}` `    ``}`   `    ``return` `0;` `}`

## Java

 `// Java program to display ` `// Prime numbers till N` `class` `GFG ` `{` `     ``//function to check if a given number is prime` `     ``static` `boolean` `isPrime(``int` `n){` `          ``//since 0 and 1 is not prime return false.` `          ``if``(n==``1``||n==``0``) ``return` `false``;`   `        ``//Run a loop from 2 to n-1` `        ``for``(``int` `i=``2``; i<=n/``2``; i++){` `            ``// if the number is divisible by i, then n is not a prime number.` `            ``if``(n%i==``0``)``return` `false``;` `        ``}` `        ``//otherwise, n is prime number.` `        ``return` `true``;` `    ``}` `    `    `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args) ` `    ``{ ` `        ``int` `N = ``100``; ` `        ``//check for every number from 1 to N` `        ``for``(``int` `i=``1``; i<=N; i++){` `            ``//check if current number is prime` `            ``if``(isPrime(i)) {` `              ``System.out.print(i + ``" "``);` `            ``}` `        ``}`   `    ``}` `}`

## Python3

 `# Python3 program to display Prime numbers till N`   `#function to check if a given number is prime` `def` `isPrime(n):` `  ``#since 0 and 1 is not prime return false.` `  ``if``(n``=``=``1` `or` `n``=``=``0``):` `    ``return` `False` `  `  `  ``#Run a loop from 2 to n/2` `  ``for` `i ``in` `range``(``2``,(n``/``/``2``)``+``1``):` `    ``#if the number is divisible by i, then n is not a prime number.` `    ``if``(n``%``i``=``=``0``):` `      ``return` `False` `  `  `  ``#otherwise, n is prime number.` `  ``return` `True`       `# Driver code` `N ``=` `100``;` `#check for every number from 1 to N` `for` `i ``in` `range``(``1``,N``+``1``):` `  ``#check if current number is prime` `  ``if``(isPrime(i)):` `    ``print``(i,end``=``" "``)`

## C#

 `// C# program to display ` `// Prime numbers till N` `using` `System;` `    `  `class` `GFG ` `{` `  `  ` ``//function to check if a given number is prime` ` ``static` `bool` `isPrime(``int` `n){` `      ``//since 0 and 1 is not prime return false.` `     ``if``(n==1||n==0)``return` `false``;` `  `  `      ``//Run a loop from 2 to n/2.` `      ``for``(``int` `i=2; i<=n/2; i++){` `        ``// if the number is divisible by i, then n is not a prime number.` `        ``if``(n%i==0)``return` `false``;` `      ``}` `  ``//otherwise, n is prime number.` `  ``return` `true``;` `}`   `// Driver code ` `public` `static` `void` `Main (String[] args) ` `{ ` `    ``int` `N = 100; ` `    ``//check for every number from 1 to N` `      ``for``(``int` `i=1; i<=N; i++){` `      ``//check if current number is prime` `      ``if``(isPrime(i)) {` `        ``Console.Write(i + ``" "``); ` `      ``}` `    ``}` `    `  `}` `}`   `// This code is contributed by Rajput-Ji`

## Javascript

 ``

Output

`2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 `

Time Complexity: O(N2),
Auxiliary Space: O(1), since no extra space has been taken.

Approach 3: If a number ‘n’ is not divided by any number less than or equals to the square root of n then, it will not be divided by any other number greater than the square root of n. So, we only need to check up to the square root of n.

## C++

 `// C++ program to display Prime numbers till N` `#include ` `using` `namespace` `std;`   `//function to check if a given number is prime` `bool` `isPrime(``int` `n){` `  ``//since 0 and 1 is not prime return false.` `  ``if``(n==1||n==0)``return` `false``;` `  `  `  ``//Run a loop from 2 to square root of n.` `  ``for``(``int` `i=2; i*i<=n; i++){` `    ``// if the number is divisible by i, then n is not a prime number.` `    ``if``(n%i==0)``return` `false``;` `  ``}` `  ``//otherwise, n is prime number.` `  ``return` `true``;` `}`     `// Driver code` `int` `main()` `{` `    ``int` `N = 100;`   `    ``//check for every number from 1 to N` `      ``for``(``int` `i=1; i<=N; i++){` `      ``//check if current number is prime` `      ``if``(isPrime(i)) {` `        ``cout << i << ``" "``;` `      ``}` `    ``}`   `    ``return` `0;` `}`

## Java

 `// Java program to display ` `// Prime numbers till N` `class` `GFG ` `{` `  ``//function to check if a given number is prime` ` ``static` `boolean` `isPrime(``int` `n){` `  ``//since 0 and 1 is not prime return false.` `  ``if``(n==``1``||n==``0``)``return` `false``;` `  `  `  ``//Run a loop from 2 to square root of n` `  ``for``(``int` `i=``2``; i*i<=n; i++){` `    ``// if the number is divisible by i, then n is not a prime number.` `    ``if``(n%i==``0``)``return` `false``;` `  ``}` `  ``//otherwise, n is prime number.` `  ``return` `true``;` `}` `    `    `// Driver code ` `public` `static` `void` `main (String[] args) ` `{ ` `    ``int` `N = ``100``; ` `        ``//check for every number from 1 to N` `      ``for``(``int` `i=``1``; i<=N; i++){` `      ``//check if current number is prime` `      ``if``(isPrime(i)) {` `        ``System.out.print(i + ``" "``);` `      ``}` `    ``}` `    `  `}` `}`

## Python3

 `# Python3 program to display Prime numbers till N`   `#function to check if a given number is prime` `def` `isPrime(n):` `  ``#since 0 and 1 is not prime return false.` `  ``if``(n``=``=``1` `or` `n``=``=``0``):` `    ``return` `False` `  `  `  ``#Run a loop from 2 to square root of n.` `  ``for` `i ``in` `range``(``2``,``int``(n``*``*``(``1``/``2``))``+``1``):` `    ``#if the number is divisible by i, then n is not a prime number.` `    ``if``(n``%``i``=``=``0``):` `      ``return` `False` `  `  `  ``#otherwise, n is prime number.` `  ``return` `True`       `# Driver code` `N ``=` `100``;` `#check for every number from 1 to N` `for` `i ``in` `range``(``1``,N``+``1``):` `  ``#check if current number is prime` `  ``if``(isPrime(i)):` `    ``print``(i,end``=``" "``)`

## C#

 `// C# program to display ` `// Prime numbers till N` `using` `System;` `    `  `class` `GFG ` `{` `  `  ` ``//function to check if a given number is prime` ` ``static` `bool` `isPrime(``int` `n){` `      ``//since 0 and 1 is not prime return false.` `     ``if``(n==1||n==0)``return` `false``;` `  `  `      ``//Run a loop from 2 to square root of n.` `      ``for``(``int` `i=2; i*i<=n; i++){` `        ``// if the number is divisible by i, then n is not a prime number.` `        ``if``(n%i==0)``return` `false``;` `      ``}` `  ``//otherwise, n is prime number.` `  ``return` `true``;` `}`   `// Driver code ` `public` `static` `void` `Main (String[] args) ` `{ ` `    ``int` `N = 100; ` `    ``//check for every number from 1 to N` `      ``for``(``int` `i=1; i<=N; i++){` `      ``//check if current number is prime` `      ``if``(isPrime(i)) {` `        ``Console.Write(i + ``" "``); ` `      ``}` `    ``}` `    `  `}` `}`   `// This code is contributed by Rajput-Ji`

## Javascript

 ``

Output

`2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 `

Time Complexity: O(N^(3/2)),
Auxiliary Space: O(1)

#### Approach 4: Sieve of Eratosthenes Algorithm

1. Create a boolean array is_prime of size (N+1), initialized with true values for all elements.
2. Loop through the array is_prime from 2 to the square root of N (inclusive), and for each prime number p found in the loop:
• If is_prime[p] is true, loop through the multiples of p from p*p up to N, and mark them as false in the is_prime array.
3. Loop through the array is_prime from 2 to N (inclusive), and for each index i where is_prime[i] is true, print i as a prime number.

## C++

 `// CPP program to print prime numbers from 1 to N` `// using Sieve of Eratosthenes` `#include ` `using` `namespace` `std;`   `void` `sieve_of_eratosthenes(``int` `n)` `{` `    ``bool` `is_prime[n + 1];` `    ``memset``(is_prime, ``true``, ``sizeof``(is_prime));` `    ``is_prime[0] = is_prime[1] = ``false``;` `    ``for` `(``int` `p = 2; p * p <= n; p++) {` `        ``if` `(is_prime[p]) {` `            ``for` `(``int` `i = p * p; i <= n; i += p) {` `                ``is_prime[i] = ``false``;` `            ``}` `        ``}` `    ``}` `    ``for` `(``int` `i = 2; i <= n; i++) {` `        ``if` `(is_prime[i]) {` `            ``cout << i << ``" "``;` `        ``}` `    ``}` `}`   `int` `main()` `{` `    ``sieve_of_eratosthenes(100);` `    ``return` `0;` `}`   `// This code is contributed by Susobhan Akhuli`

## Python3

 `# Python program to print prime numbers from 1 to N` `# using Sieve of Eratosthenes`   `def` `sieve_of_eratosthenes(n):` `    ``is_prime ``=` `[``True``] ``*` `(n``+``1``)` `    ``is_prime[``0``] ``=` `is_prime[``1``] ``=` `False` `    ``for` `p ``in` `range``(``2``, ``int``(n``*``*``0.5``)``+``1``):` `        ``if` `is_prime[p]:` `            ``for` `i ``in` `range``(p``*``p, n``+``1``, p):` `                ``is_prime[i] ``=` `False` `    ``for` `i ``in` `range``(``2``, n``+``1``):` `        ``if` `is_prime[i]:` `            ``print``(i, end``=``' '``)`     `sieve_of_eratosthenes(``100``)`   `# This code is contributed by Susobhan Akhuli`

Output

`2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 `

#### Complexity Analysis:

Time complexity:
The outer loop runs from 2 to the square root of N, so it runs in O(sqrt(N)) time.
The inner loop runs from p*p to N, and for each prime number p, it eliminates the multiples of p up to N. Therefore, the inner loop runs at most N/p times for each prime number p, so it has a time complexity of O(N/2 + N/3 + N/5 + …), which is approximately O(N log(log(N))). This is because the sum of the reciprocals of the prime numbers up to N is asymptotically bounded by log(log(N)).
The final loop runs from 2 to N, so it has a time complexity of O(N).
Therefore, the overall time complexity of the algorithm is O(N log(log(N))).

Space complexity:
The algorithm uses an array of size N+1 to store the boolean values of whether each number is prime or not. Therefore, the space complexity is O(N).
In summary, the Sieve of Eratosthenes algorithm has a time complexity of O(N log(log(N))) and a space complexity of O(N) to print all the prime numbers from 1 to N.

To know more check  Sieve of Eratosthenes.

My Personal Notes arrow_drop_up
Related Articles