用c++写一个程序,功能:用辗转相除法求两个整数的最大公约数
时间: 2023-12-08 08:03:34 浏览: 88
以下是使用辗转相除法求两个整数的最大公约数的C++程序:
```c++
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (a == 0) return b;
return gcd(b % a, a);
}
int main() {
int num1, num2;
cout << "请输入两个整数: ";
cin >> num1 >> num2;
int result = gcd(num1, num2);
cout << "最大公约数为: " << result << endl;
return 0;
}
```
程序中,我们定义了一个函数 `gcd(int a, int b)`,它接受两个整数作为参数,并返回它们的最大公约数。在函数中,我们使用辗转相除法来计算最大公约数。
在 `main()` 函数中,首先让用户输入两个整数,然后调用 `gcd()` 函数计算它们的最大公约数,并将结果输出到屏幕上。
请注意,如果第一个参数 `a` 为0,则直接返回第二个参数 `b`。否则,我们使用递归调用 `gcd()` 函数,并将 `b % a` 和 `a` 作为新的参数传递给它。这是因为,我们知道 `a` 和 `b` 的最大公约数等于 `b % a` 和 `a` 的最大公约数。如果你不理解递归,可以把它当成循环来理解。
相关问题
设计一个c++程序,程序功能:输入两个正整数,用辗转相除法计算它们的最大公约数
以下是使用辗转相除法计算两个正整数的最大公约数的C程序:
```c
#include <stdio.h>
int main()
{
int num1, num2, remainder, gcd;
printf("请输入两个正整数:\n");
scanf("%d %d", &num1, &num2);
while (num2 != 0)
{
remainder = num1 % num2;
num1 = num2;
num2 = remainder;
}
gcd = num1;
printf("最大公约数为:%d\n", gcd);
return 0;
}
```
运行结果:
```
请输入两个正整数:
24 36
最大公约数为:12
```
C++输入两个正整数,用辗转相除法计算它们的最大公约数
好的,以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int gcd(int a, int b) {
while(b != 0) {
int r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
int a, b;
cout << "请输入两个正整数:";
cin >> a >> b;
int result = gcd(a, b);
cout << "最大公约数为:" << result << endl;
return 0;
}
```
以上代码中,我们定义了一个 `gcd` 函数,用于计算两个正整数的最大公约数。主函数中,我们首先输入两个正整数,然后调用 `gcd` 函数计算它们的最大公约数并输出结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)