From f44598b9e325d166b3a223e40a0c00e598bb8e5b Mon Sep 17 00:00:00 2001 From: Dipesh Gupta Date: Wed, 7 Oct 2020 19:19:55 +0530 Subject: [PATCH] SieveOfEratosthenes Python program to print all primes smaller than or equal to n using Sieve of Eratosthenes --- SieveOfEratosthenes | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 SieveOfEratosthenes diff --git a/SieveOfEratosthenes b/SieveOfEratosthenes new file mode 100644 index 0000000..eb69585 --- /dev/null +++ b/SieveOfEratosthenes @@ -0,0 +1,28 @@ +def SieveOfEratosthenes(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. + prime = [True for i in range(n+1)] + p = 2 + while (p * p <= n): + + # If prime[p] is not changed, then it is a prime + if (prime[p] == True): + + # Update all multiples of p + for i in range(p * p, n+1, p): + prime[i] = False + p += 1 + + # Print all prime numbers + for p in range(2, n+1): + if prime[p]: + print p, + +# driver program +if __name__=='__main__': + n = 30 + print "Following are the prime numbers smaller", + print "than or equal to", n + SieveOfEratosthenes(n)