def sieve(n):
    prime = [True for i in range(n+1)]
    p = 2
    while (p * p <= n):
        if (prime[p] == True):
            for i in range(p * 2, n+1, p):
                prime[i] = False
        p += 1
    sieve = []
    for p in range(2, n):
        if prime[p]:
            sieve.append(p)
    return (sieve)

print(sieve(10))
