一张不够花、 发表于 2022-12-27 19:18:24

求大神指点

编写程序,获得用户输入的数值M和N,求M和N的最大公约数

lassiter 发表于 2022-12-27 21:02:43

# 你随便百度一下都能找到,一般求最大公约数用辗转相除法或更相减损法
#这里举例辗转相除法

a,b=input('请任意输入两正整数求取最大公约数,使用单空格隔开:').split()
a=int(a);b=int(b)

while a%b != 0:
    a,b=b,a%b
else:
    print('最大公约数为',b)

isdkz 发表于 2022-12-27 21:11:01

from math import gcd
m = int(input("请输入M:"))
n = int(input("请输入N:"))
print(f"M和N的最大公约数是{gcd(m, n)}")

CHNwldcmzy 发表于 2022-12-27 22:14:18

def gcd(a : int, b : int) -> int:
    '''求a和b的最大公因数'''
    return a if not b else gcd(b, a % b)
补一个递归,原理和辗转相除一样

学习编程中的Ben 发表于 2022-12-28 09:12:24

楼上的是答案十分明了了
页: [1]
查看完整版本: 求大神指点