Python Program for Sieve of Eratosthenes

Python | Sieve of Eratosthenes Implementation: Here, we will learn how to find the prime numbers using Sieve of Eratosthenes in Python? By Shivang Yadav Last updated : April 14, 2023

Python programming language is a high-level and object-oriented programming language. Python is an easy to learn, powerful high-level programming language. It has a simple but effective approach to object-oriented programming.

Sieve of Eratosthenes

Sieve of Eratosthenes is an ancient algorithm of finding prime numbers for any given range. It's actually about maintaining a Boolean table to check for corresponding prime number.

Sieve of Eratosthenes Algorithm

  • Get input from user for value N.
  • Create a boolean array of size N+1, prime[N+1] and assign all values to TRUE.
  • 0 and 1 is not prime, Thus prime[0] = prime[1] = FALSE.
  • Loop from 2 to root(N) with variable i.
    • if prime[i] == TRUE -> all multiple of i in array are made false.
  • Loop for the array, and print all values 'p', for which prime[p] is TRUE.

Implementation for finding prime numbers using sieve of eratosthenes

We will take a positive integer as input from the user and then return all prime numbers smaller than or equal to the given number.

Sample Input/Output

Input:
n = 25

Output: 
2, 3, 5, 7, 11, 13, 17, 19, 23

To find prime numbers smaller than or equal to the given number. We will loop till the number and for each value check weather it is a prime number or not.

But here, we will find prime numbers using the sieve of Eratosthenes.

Python program to find prime numbers using sieve of Eratosthenes

# Python program to find prime numbers 
# using sieve of Eratosthenes

import math

# Getting input from user 
n = int(input("Enter the number : "))

# finding all prime numbers 
prime = [True for i in range(n + 1)]
prime[0] = prime[1] = False
i = 2

while (i <= math.sqrt(n) + 1):
    if (prime[i] == True):
        for a in range(i * 2, n + 1, i):
            prime[a] = False
    i = i + 1

# Printing all prime numbers...
print("All prime numbers smaller than the number are ")
for p in range(n + 1):
    if prime[p]:
        print (p, end = " ")

Output

Enter the number : 54
All prime numbers smaller than the number are
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53

Python Basic Programs »


Related Programs



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.