python - 在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中有一个现成的函数,但我需要自己编写代码
解决方案
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))
推荐阅读
- c++ - C++(Windows):将虚拟键代码字符串表示(“VK_F6”)转换为十六进制(0x75)
- c# - C# 将 IHtmlContent 转换为字符串
- python - 在python中以一对一的方式将元素从1个列表附加到另一个列表的嵌套元素
- python - 如何在一行中拆分单词以在 DataFrame 中创建新行?
- django - 表单中的自定义错误
- javascript - 当我单击菜单按钮(onlick)时,它会打开然后立即关闭
- powershell - 如何获取所有报告的数据源用户名?
- python - 如何制作 Discord.py ping cmd
- python - 为什么我的函数不能根据用户输入正确执行?
- r - 更新 R 弹性包导致发送失败:Broken pipe