Skip to content

Commit

Permalink
Merge pull request #411 from jash-kothari/sieves-algo
Browse files Browse the repository at this point in the history
Sieves Algorithm for prime number generation till n
  • Loading branch information
fineanmol authored Oct 2, 2021
2 parents 97e3a1d + 013312f commit 11f6ab4
Showing 1 changed file with 37 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import java.util.*;
import java.lang.*;
import java.io.*;

// Using the sieve of Eratosthenes
public class PrimeNumbers {
public static List<Integer> calcPrimeNumbers(int n) {
boolean[] isPrimeNumber = new boolean[n + 1]; // boolean defaults to
// false
List<Integer> primes = new ArrayList<Integer>();
for (int i = 2; i < n; i++) {
isPrimeNumber[i] = true;
}
for (int i = 2; i < n; i++) {
if (isPrimeNumber[i]) {
primes.add(i);
// now mark the multiple of i as non-prime number
for (int j = i; j * i <= n; j++) {
isPrimeNumber[i * j] = false;
}
}

}

return primes;
}

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter the value of n");
int n=sc.nextInt();
List<Integer> calcPrimeNumbers = calcPrimeNumbers(n);
for (Integer integer : calcPrimeNumbers) {
System.out.println(integer);
}
}
}

0 comments on commit 11f6ab4

Please sign in to comment.