求五个整数的最大公约数用C语言
时间: 2024-12-13 08:24:19 浏览: 36
在C语言中,计算两个整数的最大公约数(Greatest Common Divisor, GCD)可以使用欧几里得算法(也称辗转相除法),对于多个整数求最大公约数,你可以先分别找到前两个数的最大公约数,然后用这个结果再去找下一个数的最大公约数,如此递推直到所有数都处理完。这里是一个简单的例子:
```c
#include <stdio.h>
// 欧几里得算法求两个数的最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 用于求多个数的最大公约数
int find_gcd(int arr[], int n) {
int result = arr[0];
for (int i = 1; i < n; i++) {
result = gcd(arr[i], result);
if(result == 1)
break; // 如果已找到1,则所有后续的数都无法增加最大公约数
}
return result;
}
int main() {
int numbers[] = {48, 18, 54, 24, 72};
int size = sizeof(numbers) / sizeof(numbers[0]);
int max_gcd = find_gcd(numbers, size);
printf("The greatest common divisor of the given integers is: %d\n", max_gcd);
return 0;
}
```
在这个代码中,`gcd()` 函数实现了两个数的 GCD,`find_gcd()` 则遍历整个数组,每次都用当前的`result`和下一个数求 GCD。
阅读全文
相关推荐

















