Guido van Rossum | f06ee5f | 1996-11-27 19:52:01 +0000 | [diff] [blame] | 1 | #! /usr/bin/env python |
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 2 | |
3 | # Print prime numbers in a given range | ||||
4 | |||||
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 5 | def primes(min, max): |
Mark Dickinson | ab6d373 | 2009-10-11 09:35:57 +0000 | [diff] [blame^] | 6 | if max >= 2 >= min: |
Georg Brandl | 4271eca | 2009-10-11 08:48:28 +0000 | [diff] [blame] | 7 | print 2 |
Tim Peters | e6ddc8b | 2004-07-18 05:56:09 +0000 | [diff] [blame] | 8 | primes = [2] |
9 | i = 3 | ||||
10 | while i <= max: | ||||
11 | for p in primes: | ||||
Georg Brandl | 4271eca | 2009-10-11 08:48:28 +0000 | [diff] [blame] | 12 | if i % p == 0 or p*p > i: |
13 | break | ||||
14 | if i % p != 0: | ||||
Tim Peters | e6ddc8b | 2004-07-18 05:56:09 +0000 | [diff] [blame] | 15 | primes.append(i) |
Georg Brandl | 4271eca | 2009-10-11 08:48:28 +0000 | [diff] [blame] | 16 | if i >= min: |
17 | print i | ||||
18 | i += 2 | ||||
19 | |||||
20 | def main(): | ||||
21 | import sys | ||||
22 | min, max = 2, 0x7fffffff | ||||
23 | if sys.argv[1:]: | ||||
24 | min = int(sys.argv[1]) | ||||
25 | if sys.argv[2:]: | ||||
26 | max = int(sys.argv[2]) | ||||
27 | primes(min, max) | ||||
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 28 | |
Johannes Gijsbers | 7a8c43e | 2004-09-11 16:34:35 +0000 | [diff] [blame] | 29 | if __name__ == "__main__": |
30 | main() |