输入俩个数,求他们最大公约数
时间: 2023-08-31 17:33:02 浏览: 25
### 回答1:
您好!这是一个求最大公约数的问题,可以使用欧几里得算法来解决。以下是示例代码:
```
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int num1, num2;
cout << "请输入两个数:" << endl;
cin >> num1 >> num2;
int result = gcd(num1, num2);
cout << "它们的最大公约数是:" << result << endl;
return 0;
}
```
希望能对您有所帮助!
### 回答2:
求最大公约数可以使用辗转相除法。假设输入的两个数为a和b,其中a比b大或者相等。
1. 将a除以b,得到商q和余数r。
2. 若r等于0,则b即为最大公约数。
3. 若r不等于0,则将b赋值给a,r赋值给b,继续执行步骤1。
以下是求最大公约数的示例算法:
```
def 最大公约数(a, b):
while b != 0:
q = a // b
r = a % b
a = b
b = r
return a
# 提示用户输入两个数
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
# 求最大公约数
gcd = 最大公约数(num1, num2)
# 打印最大公约数
print("最大公约数为:", gcd)
```
这样就可以通过输入两个数,求得它们的最大公约数。
### 回答3:
欲求两个数的最大公约数,可以用欧几里得算法。该算法基于以下原理:设两个正整数a和b(a>b),且将a除以b得到的余数为r,那么a和b的最大公约数等于b和r的最大公约数。
具体步骤如下:
1. 输入两个正整数a和b;
2. 比较a和b的大小,将较大的数赋值给a,较小的数赋值给b;
3. 若b不等于0,则计算a除以b的余数,将余数赋值给r;
4. 将b的值赋给a,将r的值赋给b;
5. 重复第3到第4步,直到b等于0为止;
6. 最后,输出a的值,即为输入的两个数的最大公约数。
例如,若输入两个数为15和10,则根据欧几里得算法:
1. a = 15, b = 10;
2. a > b,交换a和b的值,得到a = 10, b = 15;
3. a除以b的余数为10除以15得到0;
4. 将b的值赋给a,将余数0赋给b,得到a = 15, b = 0;
5. a不等于0,b等于0,结束计算;
6. 输出a的值15,即输入的两个数15和10的最大公约数为15。
最大公约数也可以用数学符号表示为gcd(a, b) = 15。
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)