blob: 2bf5ba2ed56ed95d33c714a233a19a4f8271e6cc [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 Dickinsonab6d3732009-10-11 09:35:57 +00006 if max >= 2 >= min:
Georg Brandl4271eca2009-10-11 08:48:28 +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 Brandl4271eca2009-10-11 08:48:28 +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 Brandl4271eca2009-10-11 08:48:28 +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)
Guido van Rossumec758ea1991-06-04 20:36:54 +000028
Johannes Gijsbers7a8c43e2004-09-11 16:34:35 +000029if __name__ == "__main__":
30 main()