C语言中最常用的求最大公约数的方法是使用辗转相除法(欧几里得算法)。
#include <stdio.h>
// 函数声明
int gcd(int a, int b);
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
int result = gcd(a, b);
printf("最大公约数是:%d\n", result);
return 0;
}
// 函数定义
int gcd(int a, int b) {
if (a % b == 0) {
return b;
} else {
return gcd(b, a % b);
}
}
输入两个整数,该程序将计算它们的最大公约数并输出。该程序使用递归函数 gcd
来实现辗转相除法。如果 a
能够被 b
整除,则 b
就是最大公约数;否则,递归调用 gcd(b, a % b)
继续计算。