gcd3.py
#!/usr/bin/env python
#
# Get 3 numbers from user, print their gcd (Greatest Common Divisor).
#
# Author: Yotam Medini [email protected] -- Created: 2005/November/27
#
import sys
def gcd(m, n):
if m < 0:
m = -m
if n < 0:
n = -n
if m < n:
t = m; m = n; n = t; # swap
# Now we have: m >= n >= 0
while n > 0:
remainder = m % n
m = n
n = remainder
return m
# Begin the program
# Check for 3 parameters
if len(sys.argv) != 1+3:
sys.stderr.write("Usage: %s <number> <number> <number>\n" % sys.argv[0])
sys.exit(1)
# Convert the command line parameters strings to positive integers.
n1 = int(sys.argv[1])
n2 = int(sys.argv[2])
n3 = int(sys.argv[3])
g = gcd(n1, n2)
g = gcd(g, n3) # Combined gcd
sys.stdout.write("gcd(%d, %d, %d) = " % (n1, n2, n3))
if g == 0:
sys.stdout.write("infinity\n")
else:
sys.stdout.write("%d\n" % g)
sys.exit(0)
Generated by GNU enscript 1.6.4.