输入两个正整数m和n求该数的最大公约数
时间: 2023-11-03 14:59:59 浏览: 42
可以使用辗转相除法求解两个正整数m和n的最大公约数。
具体步骤如下:
1. 如果n等于0,则m就是最大公约数,直接返回m;
2. 否则,计算m除以n的余数,将n赋值为原来的m,将余数赋值为新的n,然后回到第1步。
代码实现如下:
```
def gcd(m, n):
if n == 0:
return m
else:
return gcd(n, m % n)
```
调用函数:
```
print(gcd(36, 24)) # 输出12
```
相关问题
输入两个正整数m和n,求其最大公约数
输入两个正整数m和n,求它们的最大公约数可以使用辗转相除法。具体步骤如下:
1. 用较小的数除以较大的数,得到余数r。
2. 如果r等于0,则较大的数即为最大公约数。
3. 如果r不等于0,则用较小的数除以r,得到余数r1。
4. 如果r1等于0,则r即为最大公约数。
5. 如果r1不等于0,则继续用r除以r1,得到余数r2。
6. 重复以上步骤,直到余数为0为止,最后的除数即为最大公约数。
下面是一个C语言程序的例子,可以实现输入两个正整数m和n,求它们的最大公约数:
```
#include <stdio.h>
int main()
{
int m, n, r;
printf("请输入两个正整数:");
scanf("%d%d", &m, &n);
while (n != 0)
{
r = m % n;
m = n;
n = r;
}
printf("最大公约数为:%d", m);
return 0;
}
```
输入两个正整数m和n,求其最大公约数用if
根据提供的引用内容,输入两个正整数m和n,求其最大公约数可以使用if语句进行判断。首先需要判断输入的两个数是否为正整数,可以使用if语句和取余运算符进行判断。如果输入的两个数都是正整数,则可以使用辗转相除法求得它们的最大公约数。具体步骤如下:
1. 用较大数除以较小数,得到余数r;
2. 如果r等于0,则较小数即为最大公约数;
3. 如果r不等于0,则用较小数除以r,得到余数r1;
4. 如果r1等于0,则r即为最大公约数;
5. 如果r1不等于0,则继续用r除以r1,得到余数r2;
6. 以此类推,直到余数为0,此时除数即为最大公约数。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)