Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range

This is java program to implement Wheel Seive method to generate the prime numbers from 2 to the given limit. This algorithm reduces the time by checking only till n^2.

Here is the source code of the Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

//This is a sample program to print all the prime numbers between 2 and n
import java.util.LinkedList;
import java.util.Scanner;
 
public class Sieve_Method
{
    public static LinkedList<Integer> sieve(int n)
    {
        if(n < 2) 
            return new LinkedList<Integer>();
 
        LinkedList<Integer> primes = new LinkedList<Integer>();
        LinkedList<Integer> nums = new LinkedList<Integer>();
 
        for(int i = 2;i <= n;i++)
        { //unoptimized
            nums.add(i);
        }
 
        while(nums.size() > 0)
        {
            int nextPrime = nums.remove();
            for(int i = nextPrime * nextPrime;i <= n;i += nextPrime)
            {
                nums.removeFirstOccurrence(i);
            }
            primes.add(nextPrime);
        }
        return primes;
    }
    public static void main(String args[])
    {
        System.out.println("Enter the upper bound : ");
        Scanner sc = new Scanner(System.in);
        int end = sc.nextInt();
 
        System.out.println(sieve(end));
        sc.close();
 
    }
}

Output:

$ javac Sieve_Method.java
$ java Sieve_Method
Enter the upper bound : 
70
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67]

Related posts:

Java Program to Implement Hash Tables Chaining with List Heads
Java Program to implement Associate Array
Case-Insensitive String Matching in Java
Spring Boot - Runners
Constructor Injection in Spring with Lombok
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
Java Program to Implement the Monoalphabetic Cypher
A Guide to HashSet in Java
Java Program to Find Transpose of a Graph Matrix
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Multi Dimensional ArrayList in Java
Java Program to Implement Knapsack Algorithm
Removing all Nulls from a List in Java
Disable Spring Data Auto Configuration
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
Remove All Occurrences of a Specific Value from a List
Configuring a DataSource Programmatically in Spring Boot
Java Program to Compare Binary and Sequential Search
Java Program to Check whether Directed Graph is Connected using BFS
How to Get the Last Element of a Stream in Java?
Java Switch Statement
HttpClient Basic Authentication
How to Define a Spring Boot Filter?
Lập trình hướng đối tượng (OOPs) trong java
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Java Scanner hasNext() vs. hasNextLine()
HttpClient 4 Cookbook
Retrieve User Information in Spring Security
Java Program to Solve TSP Using Minimum Spanning Trees
Introduction to the Java ArrayDeque
Java Program to Perform the Sorting Using Counting Sort