Python/maths/sieve_of_eratosthenes.py
Christian Clauss 93fdc9f2a1 Travis CI: Add pytest --doctest-modules maths (#1020)
* Travis CI: Add pytest --doctest-modules maths

* Update lucas_series.py

* Update lucas_series.py
2019-07-21 11:46:28 +05:30

28 lines
613 B
Python

"""Sieve of Eratosthones."""
import math
def sieve(n):
"""Sieve of Eratosthones."""
l = [True] * (n + 1)
prime = []
start = 2
end = int(math.sqrt(n))
while start <= end:
if l[start] is True:
prime.append(start)
for i in range(start * start, n + 1, start):
if l[i] is True:
l[i] = False
start += 1
for j in range(end + 1, n + 1):
if l[j] is True:
prime.append(j)
return prime
if __name__ == "__main__":
print(sieve(int(input("Enter n: ").strip())))