diff --git a/sieve_of_eratosthenes.py b/sieve_of_eratosthenes.py new file mode 100644 index 0000000..eb0d1aa --- /dev/null +++ b/sieve_of_eratosthenes.py @@ -0,0 +1,19 @@ +def sieve_of_eratosthenes(n): + if n < 2: + return [] + + is_prime = [True] * (n + 1) + is_prime[0] = is_prime[1] = False + + p = 2 + while p * p <= n: + if is_prime[p]: + for i in range(p * p, n + 1, p): + is_prime[i] = False + p += 1 + + return [i for i in range(2, n + 1) if is_prime[i]] + + +n = int(input("Enter a number: ")) +print("Prime numbers up to", n, "are:", sieve_of_eratosthenes(n))