# Program to print prime numbers from 1 to N.

• Difficulty Level : Easy
• Last Updated : 23 Nov, 2021

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:

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

• 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 first N Prime numbers``#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

## Java

 `// Java program to display``// first N Prime numbers``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 first N Prime numbers` `#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``// first N Prime numbers``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), Space Complexity: O(1)

Approach 2:  For checking if a number is prime or not do we really need to iterate through all the number form 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 first N Prime numbers``#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``// first N Prime numbers``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 first N Prime numbers` `#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``// first N Prime numbers``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`
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), Space Complexity: O(1)

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 first N Prime numbers``#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``// first N Prime numbers``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 first N Prime numbers` `#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``// first N Prime numbers``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`
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)), Space Complexity: O(1)

You can further optimize the time complexity to O(n*log(log(n))). Check Sieve of Eratosthenes.

My Personal Notes arrow_drop_up