知识:
最大公因数
也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个
a,b的最大公约数记为(a,b)
12,18的最大公约数是(12,18)=6
计算方法: a%factor==0 and b%factor==0 得到 (a,b)=factor
最小公倍数
两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。
整数a,b的最小公倍数记为[a,b]
如12,18的最小公倍数是[12,18]=36
计算方法:factor * (a/factor) * (b/factor) 得到 [a,b]=a*b/factor
factor.py
"""
输入两个正整数计算最大公约数和最小公倍数
"""
x = int(input("x="))
y = int(input("y="))
if x > y:
(x, y) = (y, x)
# 从2个数中较小的数开始遍历
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print("%d和%d的最大公约数是%d" % (x, y, factor))
print("%d和%d的最小公倍数是%d" % (x, y, x * y / factor))
break