0


Python求最大公约数和最小公倍数-A08

方法一:用函数实现求两个数的最大公约数和最小公倍数。

使用的数学方法是欧几里得算法(辗转求余数法)

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 所有, 如有侵权,请联系我们删除。

“Python求最大公约数和最小公倍数-A08”的评论:

还没有评论