辗转相除法代码原理:用两个数中大数除以小数,所得余数作为除数,原除数作为被除数,继续相除,直到最后余数为0,最大公约数即是最后一次相除的除数
代码:
x=eval(input("请输入两个整数:"))
Max=max(x)
Min=min(x)
def ZhanZhuan(a,b):
Max=a
Min=b
y=Max%Min
while y!=0:
Max=Min
Min=y
y=Max%Min
print("最大公约数为:",Min)
print("最小公倍数为:",a*b//Min)
ZhanZhuan(Max,Min)
运行结果:
注意我这里输入是以列表形式,求出了最大公约数,最小公倍数也就好求了:
最小公倍数=两数相乘除以最大公约数