blob: d296f0ef389cdd76805b59ae317a982bfb153a20 [file] [log] [blame]
Guido van Rossumf06ee5f1996-11-27 19:52:01 +00001#! /usr/bin/env python
Guido van Rossumec758ea1991-06-04 20:36:54 +00002
3# Print prime numbers in a given range
4
Guido van Rossumec758ea1991-06-04 20:36:54 +00005def primes(min, max):
Mark Dickinson0caa5762009-10-11 09:40:17 +00006 if max >= 2 >= min:
Georg Brandledbc50c2009-10-11 08:49:57 +00007 print(2)
Tim Peterse6ddc8b2004-07-18 05:56:09 +00008 primes = [2]
9 i = 3
10 while i <= max:
11 for p in primes:
Georg Brandledbc50c2009-10-11 08:49:57 +000012 if i % p == 0 or p*p > i:
13 break
14 if i % p != 0:
Tim Peterse6ddc8b2004-07-18 05:56:09 +000015 primes.append(i)
Georg Brandledbc50c2009-10-11 08:49:57 +000016 if i >= min:
17 print(i)
18 i += 2
19
20def 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)
28
Guido van Rossumec758ea1991-06-04 20:36:54 +000029
Johannes Gijsbers7a8c43e2004-09-11 16:34:35 +000030if __name__ == "__main__":
31 main()