primchk.py

#!/usr/bin/env python
#
# Check for prime numbers
#
# Author:  Yotam Medini  [email protected] -- Created: 2005/December/18
#

import sys

def usage_exit(a0, rc):
    sys.stderr.write(
"""
Usage:
  %s <N1> ... <Nn>

Where:
  <Ni>  Integer numbers to check for being prime
""" % a0)
    sys.exit(rc)


def isPrime(n):
    noFactorFound = True  # we did not find a factor yet.
    d = 2
    # It is enough to check divisors until the square-root  of n.
    # Note that          d <= sqrt(n)
    # if-and-only-if     d*d <= n     - which is easier to compute.
    while d*d <= n and noFactorFound:
        noFactorFound = (n % d != 0)
        d = d + 1
    return (n > 1) and noFactorFound


# Begin program
if len(sys.argv) == 1:
    usage_exit(sys.argv[0], 1)
args_after_1st = sys.argv[1:]

for arg in args_after_1st:
    n = int(arg)
    sys.stdout.write("%5d is " % n)
    if not isPrime(n):
        sys.stdout.write("Not ")
    sys.stdout.write("prime\n")
sys.exit(0)


Generated by GNU enscript 1.6.4.