这里应该使用打印功能?

时间:2014-09-14 20:53:52

标签: python

x = int(input())
y = int(input())
if x>y:
    if x%y==0:
        print(y)
    else:
        z = x%y
        while z>0:
            z = (x//y)%z
else:
    if y%x==0:
        print(x)
    else:
        z1 = y%x
        while z1>0:
            z1 = (y//x)%z1

查找GCD的代码。由于我是编程新手,我不知道其他条件的打印功能应该在哪里正确打印GCD。

2 个答案:

答案 0 :(得分:0)

首先,我建议使用内置gcd功能来实现此目标!这更像是 pythonic

>>> from fractions import gcd
>>> gcd(a,b)

如果你想要一个算法,你可以使用它:

def gcd(a, b):
    while b != 0:
        (a, b) = (b, a % b)
    return a

答案 1 :(得分:0)

按照你的逻辑,我只修改一些代码,以便它可以正常运行:

以下是修改后的代码:

x = int(input())
y = int(input())
if x>y:
    if x%y==0:
        print(y)
    else:
        x = x%y
        while x!=0:
            y=x
            x=x%y
        print y
else:
    if y%x==0:
        print(x)
    else:
        y=y%x
        while y!=0:
            x=y
            y=y%x
        print x

希望这能帮助你在老师面前展示:)