derplex ha revisionato questo gist 2 months ago. Vai alla revisione
1 file changed, 20 insertions
primes.py(file creato)
| @@ -0,0 +1,20 @@ | |||
| 1 | + | import itertools | |
| 2 | + | ||
| 3 | + | def iter_primes(): | |
| 4 | + | # an iterator of all numbers between 2 and +infinity | |
| 5 | + | numbers = itertools.count(2) | |
| 6 | + | ||
| 7 | + | # generate primes forever | |
| 8 | + | while True: | |
| 9 | + | # get the first number from the iterator (always a prime) | |
| 10 | + | prime = next(numbers) | |
| 11 | + | yield prime | |
| 12 | + | ||
| 13 | + | # this code iteratively builds up a chain of | |
| 14 | + | # filters...slightly tricky, but ponder it a bit | |
| 15 | + | numbers = filter(prime.__rmod__, numbers) | |
| 16 | + | ||
| 17 | + | for p in iter_primes(): | |
| 18 | + | if p > 1000: | |
| 19 | + | break | |
| 20 | + | print (p) | |
Più nuovi
Più vecchi