c语言求多个数字最大公约数
时间: 2023-11-08 20:57:50 浏览: 146
C语言求最大公约数
可以使用辗转相除法来求多个数字的最大公约数,具体步骤如下:
1. 求出前两个数字的最大公约数(可以使用辗转相除法或其他方法);
2. 将第一步求得的最大公约数和下一个数字求最大公约数;
3. 重复上述步骤,直到所有数字的最大公约数求出。
下面是使用辗转相除法的示例代码:
```c
#include <stdio.h>
// 求两个数的最大公约数
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 求多个数的最大公约数
int gcd_mult(int arr[], int n) {
int res = arr[0];
for (int i = 1; i < n; i++) {
res = gcd(res, arr[i]);
}
return res;
}
int main() {
int arr[] = { 12, 24, 36, 60 };
int n = sizeof(arr) / sizeof(arr[0]);
int result = gcd_mult(arr, n);
printf("最大公约数为:%d", result);
return 0;
}
```
输出结果为:
```
最大公约数为:12
```
阅读全文