diff --git a/Others/SieveOfEratosthenes.java b/Others/SieveOfEratosthenes.java new file mode 100644 index 000000000000..4b6fd5b78491 --- /dev/null +++ b/Others/SieveOfEratosthenes.java @@ -0,0 +1,49 @@ +/** + * + * @author Varun Upadhyay (https://github.com/varunu28) + * + */ +public class SieveOfEratosthenes { + + /** + * This method implements the Sieve of Eratosthenes Algorithm + * + * @param n The number till which we have to check for prime + * Prints all the prime numbers till n + **/ + + public static void findPrimesTillN(int n) { + int[] arr = new int[n+1]; + + for (int i=0;i<=n;i++) { + arr[i] = 1; + } + + arr[0] = arr[1] = 0; + + for (int i=2;i<=Math.sqrt(n);i++) { + if (arr[i] == 1) { + for (int j=2;i*j <= n;j++) { + arr[i*j] = 0; + } + } + } + + for (int i=0;i