问题如何用C语言求出两个数的公约数?
回公约数是指两个或多个整数共有的约数中的一个。求公约数的算法有很多种,这里介绍简单易懂的算法实现。
1. 输入两个整数a和b。
2. 如果a小于b,交换a和b的值。
3. 如果b等于0,则返回a。
4. 将a除以b,得到余数r。
5. 如果r等于0,则返回b。
6. 否则,将b赋值为r,返回第3步。
```clude
tain() {t a, b, r, gcd;tf("请输入两个整数");f("%d %d", &a, &b);
if (a< b) {tp = a;
a = b;p;
}
while (b != 0) {
r = a % b;
a = b;
b = r;
}
gcd = a;tf("公约数为%d", gcd); 0;
例如,输入两个整数12和16,程序输出公约数为4。
解释首先将a和b的值分别赋为12和16,由于12小于16,所以交换它们的值。然后进行循环,次循环时,a除以b得到余数4,将b的值赋为4,继续循环;第二次循环时,a除以b得到余数0,返回b的值4作为公约数。