def gcd(m, n): while n != 0: r = m % n m = n n = r return m def lcm(m, n): g = gcd(m, n) return m * n // g n1=input("请输入一个整数m:") n2=input("请输入一个整数n:") print(gcd(n1,n2)) print(lcm(n1,n2)) 使这个代码可以求出两个整数的最大公约数和最小公倍数
时间: 2024-02-07 13:03:01 浏览: 70
输入两个正整数m和n求其最大公约数和最小公倍数.docx
5星 · 资源好评率100%
好的,我可以帮你修改这段代码。首先,你需要把输入的字符串类型的整数转换成整型,这可以通过使用 `int()` 函数来实现。其次,在 `gcd()` 函数中,你需要把 `return` 语句放在 `while` 循环外面,否则会在第一次循环时就返回了结果。最后,在调用函数时,你需要把输入的整数转换成整型并传递给函数。下面是修改后的代码:
```
def gcd(m, n):
while n != 0:
r = m % n
m = n
n = r
return m
def lcm(m, n):
g = gcd(m, n)
return m * n // g
n1 = int(input("请输入一个整数m:"))
n2 = int(input("请输入一个整数n:"))
print(gcd(n1, n2))
print(lcm(n1, n2))
```
你可以尝试在命令行或者其他 Python 环境中运行这段代码,输入两个整数,即可计算它们的最大公约数和最小公倍数。
阅读全文