c语言编程求两个正整数的最大公约数
时间: 2023-08-30 15:04:11 浏览: 149
C语言程序设计-求出两个非零正整数的最大公约数,并作为函数值返回
5星 · 资源好评率100%
可以使用欧几里得算法来求两个正整数的最大公约数,即辗转相除法。具体实现如下:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int a, b;
printf("请输入两个正整数:");
scanf("%d %d", &a, &b);
int result = gcd(a, b);
printf("%d和%d的最大公约数为:%d\n", a, b, result);
return 0;
}
```
上述代码中,使用递归的方式实现了求最大公约数的过程。函数`gcd`的参数分别为两个正整数`a`和`b`,返回值为它们的最大公约数。当b等于0时,a就是最大公约数,否则递归调用gcd函数,继续求a%b和b的最大公约数。最后,通过调用gcd函数并输出结果,即可得到两个正整数的最大公约数。
阅读全文