如何从递归函数中获取两个数字的GCD?

时间:2017-08-06 13:01:58

标签: python

我们可以从递归函数中获得两个数字的GCD吗? 像a和b

def recursive_f_gcb(a,b):

3 个答案:

答案 0 :(得分:1)

def recursive_f_gcd(a, b):
    if b==0:
        return a
    else:
        return recursive_f_gcd(b, a%b) 
a=18
b=12
print(recursive_f_gcd(a, b))

答案 1 :(得分:0)

您可以按照以下流程操作:

def gcd(a,b):
    if b > a:
        return gcd(b,a)
    r = a%b
    if r == 0:
        return b
    return gcd(r,b)

答案 2 :(得分:0)

使用conditional expression

缩短
def recursive_f_gcd(a, b):
    return a if not b else recursive_f_gcd(b, a%b)

a = 24
b = 18
print(recursive_f_gcd(a, b))

<强>输出:

6