Skip to content
Related Articles

Related Articles

Python Program for Sieve of Eratosthenes

View Discussion
Improve Article
Save Article
Like Article
  • 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. 


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”.



# 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]:
# Driver code
if __name__ == '__main__':
    num = 50
    print("Following are the prime numbers smaller"),
    print("than or equal to", num)


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 :

Start Your Coding Journey Now!