Java Program to Display All Prime Numbers from 1 to N - GeeksforGeeks

21 May, 2021
For a given number N, the purpose is to find all the prime numbers from 1 to N.
Examples:  
Input: N = 11
Output: 2, 3, 5, 7, 11
Input: N = 7
Output: 2, 3, 5, 7 
Approach 1:
Firstly, consider the given number N as input.
Then apply a for loop in order to iterate the numbers from 1 to N.
At last, check if each number is a prime number and if it’s a prime number then print it using brute-force method.
Java
// Java program to find all the// prime numbers from 1 to Nclass gfg {     // Function to print all the    // prime numbers till N    static void prime_N(int N)    {        // Declaring the variables        int x, y, flg;         // Printing display message        System.out.println(            "All the Prime numbers within 1 and " + N            + " are:");         // Using for loop for traversing all        // the numbers from 1 to N        for (x = 1; x <= N; x++) {             // Omit 0 and 1 as they are            // neither prime nor composite            if (x == 1 || x == 0)                continue;             // Using flag variable to check            // if x is prime or not            flg = 1;             for (y = 2; y <= x / 2; ++y) {                if (x % y == 0) {                    flg = 0;                    break;                }            }             // If flag is 1 then x is prime but            // if flag is 0 then x is not prime            if (flg == 1)                System.out.print(x + " ");        }    }     // The Driver code    public static void main(String[] args)    {        int N = 45;         prime_N(N);    }}
  
All the Prime numbers within 1 and 45 are:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 
Time Complexity: O(N2)
 
Approach 2:
 
Firstly, consider the given number N as input.
Then apply a for loop in order to iterate the numbers from 1 to N.
At last, check if each number is a prime number and if it’s a prime number then print it using the square root method.
 
Java
// Java program to find all the// prime numbers from 1 to Nclass gfg {     // Function to print all the    // prime numbers till N    static void prime_N(int N)    {        // Declaring the variables        int x, y, flg;         // Printing display message        System.out.println(            "All the Prime numbers within 1 and " + N            + " are:");         // Using for loop for traversing all        // the numbers from 1 to N        for (x = 2; x <= N; x++) {             // Using flag variable to check            // if x is prime or not            flg = 1;             for (y = 2; y * y <= x; y++) {                if (x % y == 0) {                    flg = 0;                    break;                }            }             // If flag is 1 then x is prime but            // if flag is 0 then x is not prime            if (flg == 1)                System.out.print(x + " ");        }    }     // The Driver code    public static void main(String[] args)    {        int N = 45;         prime_N(N);    }}
  
All the Prime numbers within 1 and 45 are:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 
Time Complexity: O(N3/2)
 
Approach 3:
 
Firstly, consider the given number N as input.
Use Sieve of Eratosthenes.
 
Java
// Java program to print all// primes smaller than or equal to// n using Sieve of Eratosthenes class SieveOfEratosthenes {    void sieveOfEratosthenes(int n)    {        // 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.        boolean prime[] = new boolean[n + 1];        for (int i = 0; i <= n; 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 * p; i <= n; i += p)                    prime[i] = false;            }        }         // Print all prime numbers        for (int i = 2; i <= n; i++) {            if (prime[i] == true)                System.out.print(i + " ");        }    }     // Driver Code    public static void main(String args[])    {        int N = 45;        System.out.println(            "All the Prime numbers within 1 and " + N            + " are:");        SieveOfEratosthenes g = new SieveOfEratosthenes();        g.sieveOfEratosthenes(N);    }}
  
All the Prime numbers within 1 and 45 are:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 
 
Time complexity : O(n*log(log(n))) 
 
gabaa406
java-basics
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Stream In Java
Interfaces in Java
How to iterate any Map in Java
Initializing a List in Java
Convert a String to Character Array in Java
Convert Double to Integer in Java
Implementing a Linked List in Java using Class
How to Iterate HashMap in Java?