blob: 65da42e2626811d421f7101360bde646ee02cbb3 [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):
Georg Brandledbc50c2009-10-11 08:49:57 +00006 if 2 >= min:
7 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()