1 # sample Python code snippet
2 # bonus points if you know what this is
3 from __future__ import generators
4
5 def firstn(g, n):
6 for i in range(n):
7 yield g.next()
8
9 def intsfrom(i):
10 while 1:
11 yield i
12 i = i + 1
13
14 def exclude_multiples(n, ints):
15 for i in ints:
16 if (i % n): yield i
17
18 def sieve(ints):
19 while 1:
20 prime = ints.next()
21 yield prime
22 ints = exclude_multiples(prime, ints)
23
24 if __name__ == '__main__':
25 for i in firstn(sieve(intsfrom(2)), 400):
26 print i