输入两个正整数m和n求最大公约数
时间: 2024-03-24 16:32:32 浏览: 60
以下是两种求解两个正整数m和n最大公约数的方法:
1.使用辗转相除法
```python
def gcd(m, n):
while n != 0:
m, n = n, m % n
return m
# 示例
print(gcd(24, 36)) # 输出:12
```
2.使用for循环
```python
def gcd(m, n):
for i in range(min(m, n), 0, -1):
if m % i == 0 and n % i == 0:
return i
# 示例
print(gcd(24, 36)) # 输出:12
```
相关问题
c语言输入两个正整数m和n求最大公约数和最小公倍数
为了求解两个正整数m和n的最大公约数和最小公倍数,我们可以使用辗转相除法。具体步骤如下:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 求最小公倍数
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int m, n;
printf("请输入两个正整数m和n:"); scanf("%d %d", &m, &n);
printf("最大公约数为:%d\n", gcd(m, n));
printf("最小公倍数为:%d\n", lcm(m, n));
return 0;
}
```
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。 输入说明: 输入两个正整数 m 和 n。 输出说明: 输出 m 和 n 的最大公约数和最小公倍数。
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
最大公约数可以使用辗转相除法求解,即不断用较小数去除较大数,直到余数为0,此时较大数即为最大公约数。
最小公倍数可以通过先求出最大公约数,然后使用两数之积除以最大公约数得到。
示例代码如下(Python):
```python
m, n = map(int, input().split())
# 求最大公约数
a, b = max(m, n), min(m, n)
while b != 0:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = m * n // gcd
print(gcd, lcm)
```
阅读全文