Sieve of Eratosthenes

How do we find all the prime numbers under a target number? For example, how do I generate all prime numbers up to 30?

We can use the sieve of Eratosthenes, begin the traversing from 2, we eliminate any other numbers that are multiples of i, if i is 2, we eliminate 4, 6, 8, etc.

prime = [True] * Target
prime[0] = prime[1] = False

for i in range(2, math.sqrt(len(prime))+1):
    if prime[i]:
        for j in range(i*i, target, i):
            prime[j] = False

    

Last updated