# Python Program for Sieve of Eratosthenes

Given a number n, print all primes smaller than or equal to n. It is also given that n is a small number.
For example, 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”.

 `# Python program to print all primes smaller than or equal to ``# n using Sieve of Eratosthenes `` ``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 ``*` `2``, n ``+` `1``, p): ``                ``prime[i] ``=` `False``        ``p ``+``=` `1``    ``prime[``0``]``=` `False``    ``prime[``1``]``=` `False``    ``# Print all prime numbers ``    ``for` `p ``in` `range``(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) `

Output:

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