blob: 0924aab8e7b04ee83c3506a46ca764af3b6db90e [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
5def main():
Tim Peterse6ddc8b2004-07-18 05:56:09 +00006 import sys
7 min, max = 2, 0x7fffffff
8 if sys.argv[1:]:
9 min = int(eval(sys.argv[1]))
10 if sys.argv[2:]:
11 max = int(eval(sys.argv[2]))
12 primes(min, max)
Guido van Rossumec758ea1991-06-04 20:36:54 +000013
14def primes(min, max):
Collin Winter6f2df4d2007-07-17 20:59:35 +000015 if 2 >= min: print(2)
Tim Peterse6ddc8b2004-07-18 05:56:09 +000016 primes = [2]
17 i = 3
18 while i <= max:
19 for p in primes:
20 if i%p == 0 or p*p > i: break
Neal Norwitz3bd844e2006-08-29 04:39:12 +000021 if i%p != 0:
Tim Peterse6ddc8b2004-07-18 05:56:09 +000022 primes.append(i)
Collin Winter6f2df4d2007-07-17 20:59:35 +000023 if i >= min: print(i)
Tim Peterse6ddc8b2004-07-18 05:56:09 +000024 i = i+2
Guido van Rossumec758ea1991-06-04 20:36:54 +000025
Johannes Gijsbers7a8c43e2004-09-11 16:34:35 +000026if __name__ == "__main__":
27 main()