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:

• 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 primebool 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 numbersclass 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 primedef 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 codeN = 100;#check for every number from 1 to Nfor 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 numbersusing 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 primebool 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 codeint 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 numbersclass 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 primedef 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 codeN = 100;#check for every number from 1 to Nfor 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 numbersusing 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 codepublic 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 primebool 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 codeint 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 numbersclass 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 codepublic 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 primedef 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 codeN = 100;#check for every number from 1 to Nfor 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 numbersusing 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 codepublic 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