方法一:用函数实现求两个数的最大公约数和最小公倍数。
使用的数学方法是欧几里得算法(辗转求余数法)
def gcd(x, y):
""" 求最大公约数"""
while y % x != 0:
x, y = y % x, x
return x
def lcm(x, y):
"""求最小公倍数"""
return x * y // gcd(x, y)
print(gcd(9, 6)) # 3 18
print(lcm(6, 9)) # 3 18
方法二:非定义函数,但也是欧几里得算法(辗转求余数法)求最大公约数
x = int(input('x='))
y = int(input('y='))
while y % x != 0:
x, y = y % x, x
print(x) # 此处求出最大公约数
方法三:循环求最大公约数
n1 = int(input('n1='))
n2 = int(input('n2='))
for i in range(n1, 0, -1):
if n1 % i == 0 and n2 % i == 0:
print(i)
break
本文转载自: https://blog.csdn.net/wwd2021/article/details/119361710
版权归原作者 小螺丝2021 所有, 如有侵权,请联系我们删除。
版权归原作者 小螺丝2021 所有, 如有侵权,请联系我们删除。