c++递归求最大公约数
时间: 2023-11-11 14:06:18 浏览: 62
c语言中的递归求最大公约数的代码如下所示:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int a = 319;
int b = 377;
int result = gcd(a, b);
printf("最大公约数为:%d\n", result);
return 0;
}
```
该代码使用了辗转相除法(欧几里德算法)来递归求解最大公约数。下面是代码的解释:
1. 首先,定义了一个名为gcd的函数,该函数接受两个参数a和b,分别表示要求最大公约数的两个数。
2. 在函数内部,使用if语句判断如果b等于0,则说明a就是最大公约数,直接返回a。
3. 否则,通过递归调用gcd函数,传入参数b和a%b,继续求解最大公约数。
4. 在主函数main中,定义了两个整数a和b,并调用gcd函数来计算最大公约数,并将结果存储在result变量中。
5. 最后,使用printf函数打印出最大公约数的值。
回答完问题后的相关问题如下:
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)