首页 > 解决方案 > 在python中计算GCD

问题描述


所以我有这个用于学校项目。
我想计算两个数字的 GCD,为此你需要找到 2 个数字的除数,然后找到结果中的最大除数。
我能够做到的第一步:
n1=int(input("Write the first number"))
n2=int(input("Write the second number"))

for i in range(1,n1+1):
    if n1%i==0:
        s=i
        print(s)

for i in range(1,n2+1):
    if n2%i==0:
        z=i
        print(z)

但我无法比较 s 和 z 的所有结果,有什么解决方案吗?
ps:我知道python中有一个现成的函数,但我需要自己编写代码

标签: python

解决方案


def gcd(x, y):
while y != 0:
    (x, y) = (y, x % y)
return x

此函数查找两个数字的 GCD。

n1=int(input("Write the first number"))
n2=int(input("Write the second number"))

print(gcd(n1,n2))

推荐阅读