# Python Program for Sieve of Eratosthenes

• Difficulty Level : Medium
• Last Updated : 22 Jun, 2022

Sieve of Eratosthenes is a method for finding all primes up to (and possibly including) a given natural. This method works well when is relatively small, allowing us to determine whether any natural number less than or equal to is prime or composite.

Implementation:

Given a number n, print all primes smaller than or equal to n. It is also given that n is a small number. For instance here if n is 10, the output should be “2, 3, 5, 7”. If n is 20, the output should be “2, 3, 5, 7, 11, 13, 17, 19”.

Example

## Python3

 `# Python program to print all Primes Smaller ` `# than or equal to N using Sieve of Eratosthenes`     `def` `SieveOfEratosthenes(num):` `    ``prime ``=` `[``True` `for` `i ``in` `range``(num``+``1``)]` `# boolean array` `    ``p ``=` `2` `    ``while` `(p ``*` `p <``=` `num):`   `        ``# If prime[p] is not` `        ``# changed, then it is a prime` `        ``if` `(prime[p] ``=``=` `True``):`   `            ``# Updating all multiples of p` `            ``for` `i ``in` `range``(p ``*` `p, num``+``1``, p):` `                ``prime[i] ``=` `False` `        ``p ``+``=` `1`   `    ``# Print all prime numbers` `    ``for` `p ``in` `range``(``2``, num``+``1``):` `        ``if` `prime[p]:` `            ``print``(p)`     `# Driver code` `if` `__name__ ``=``=` `'__main__'``:` `    ``num ``=` `50` `    ``print``(``"Following are the prime numbers smaller"``),` `    ``print``(``"than or equal to"``, num)` `    ``SieveOfEratosthenes(num)`

Output:

```Following are the prime numbers below 30
2 3 5 7 11 13 17 19 23 29```

Time Complexity: O(n*log(log(n)))

Auxiliary Space: O(n)

Please refer complete article on Sieve of Eratosthenes for more details!

My Personal Notes arrow_drop_up
Recommended Articles
Page :