From 08e6e9772056ed97a34205ce3f69f8b07d4224e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Jord=C3=A3o?= Date: Wed, 2 Oct 2019 18:43:16 -0300 Subject: [PATCH] Sieve of Eratosthenes implemented in python --- .../numeric/sieve_of_eratosthenes.py | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 allalgorithms/numeric/sieve_of_eratosthenes.py diff --git a/allalgorithms/numeric/sieve_of_eratosthenes.py b/allalgorithms/numeric/sieve_of_eratosthenes.py new file mode 100644 index 0000000..808db78 --- /dev/null +++ b/allalgorithms/numeric/sieve_of_eratosthenes.py @@ -0,0 +1,35 @@ +# Numeric Algorithms +# Contributed by: JordaoA + +#Sieve of Eratosthenes implemented in python + +def cieve(rangeOfPrimes): + try: + rangeOfPrimes = int(rangeOfPrimes) + primes = [] + + if rangeOfPrimes < 2: + return("invalid Range :(") + + elif rangeOfPrimes == 2: + primes.append(2) + return(primes) + + else: + cieve = [True] * rangeOfPrimes + cieve[0] = False + cieve[1] = False + + for i in range(2,rangeOfPrimes): + if cieve[i]: + for j in range(i*2,rangeOfPrimes,i): + cieve[j] = False + + for i in range(rangeOfPrimes): + if cieve[i]: + primes.append(i) + + return(primes) + + except: + return("invalid Type :(")