最大公约数算法 c语言
时间: 2023-12-23 15:27:30 浏览: 78
最大公约数最小公倍数_C语言_最大公约数_
以下是三种C语言中求最大公约数的算法:
1. 辗转相除法(欧几里德法):
```c
int divisor(int a, int b) {
int temp;
if (a < b) {
temp = a;
a = b;
b = temp;
}
while (b != 0) {
temp = a % b;
a = b;
b = temp;
}
return a;
}
```
2. 函数递归调用:
```c
int gcd(int a, int b) {
if (a % b == 0)
return b;
else
return gcd(b, a % b);
}
```
3. 穷举法:
```c
int gcd(int a, int b) {
int i, gcd;
for (i = 1; i <= a && i <= b; i++) {
if (a % i == 0 && b % i == 0)
gcd = i;
}
return gcd;
}
```
阅读全文