计算多个数的最大公约数的算法思路:
计算前两个数是最大公约数,记为gcd,再计算gcd与第三个数的最大公约数,更新gcd为本次计算的最大公约数,再计算gcd与第四个数的最大公约数,更新gcd为本次计算的最大公约数,……
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int a[N], cnt;
int main()
{
while (cin >> a[cnt]) cnt ++;
int gcd = __gcd (a[0], a[1]);
for (int i = 2;i < cnt;i ++)
gcd = __gcd (gcd, a[2]);
cout << gcd << endl;
return 0;
}