In mathematics, the sieve of Eratosthenes , is a simple, ancient algorithm for finding all prime numbers up to any given limit. It does so by iteratively marking as composite (i.e. not prime) the multiples of each prime, starting with the multiples of 2.

You can reed the full description on wikipedia here

This is my implememntation

```
def compute(n=100):
seq = range(2,n)
p = 2
while p < n and len(range(2*p,n,p)):
jumpy = range(2*p,n,p)
for j in jumpy:
if seq.count(j) > 0:
seq.remove(j)
p = seq[1+seq.index(p)]
print "Prime nums from 2 to " , n , " : ", seq
return seq
def test():
expected = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
out_list = compute()
for o in out_list:
assert( expected.count(o) > 0 )
```