Python对输入的整数m,n求它们的最大公约数
时间: 2024-02-27 16:59:00 浏览: 14
可以使用辗转相除法来求解两个整数的最大公约数。具体的实现代码如下:
```python
def gcd(m, n):
if m < n:
m, n = n, m
while n != 0:
r = m % n
m = n
n = r
return m
```
在这个函数中,首先判断 m 和 n 的大小关系,确保 m 大于等于 n。然后,使用 while 循环来执行辗转相除法,直到 n 变成 0 为止。在每轮循环中,计算出 m 对 n 取余的结果 r,并将 n 赋值为原来的 r。最后,返回 m,即为最大公约数。
相关问题
Python对输入的整数m, n,求它们的最大公约数
好的,下面是利用Python求解两个整数的最大公约数的代码:
```python
def gcd(m, n):
if m < n:
m, n = n, m
while n != 0:
m, n = n, m % n
return m
m = int(input("请输入第一个整数:"))
n = int(input("请输入第二个整数:"))
print("最大公约数为:", gcd(m, n))
```
代码中使用了欧几里得算法来计算两个整数的最大公约数,同时使用了Python的输入函数`input()`来获取用户输入的两个整数。运行程序后,用户需要分别输入两个整数,程序会输出它们的最大公约数。
希望能够帮助到你!
用python输入整数m和n求最大公约数和最小公倍数
可以使用辗转相除法(欧几里得算法)求最大公约数,最小公倍数则可以通过最大公约数求得。
代码如下:
```python
m = int(input("请输入第一个数:"))
n = int(input("请输入第二个数:"))
# 求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
print("最大公约数为:", gcd(m, n))
print("最小公倍数为:", lcm(m, n))
```
运行结果:
```
请输入第一个数:24
请输入第二个数:36
最大公约数为: 12
最小公倍数为: 72
```