Sample Input | Output for Sample Input |
3 10 20 30 40 7 5 12 125 15 25 | 20 1 25 |
/*0.012s*/#include<cstdio>#include<algorithm>using namespace std;int num[100], n;int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int cal(){int i, j, maxn = 0;for (i = 0; i < n - 1; ++i)for (j = i + 1; j < n; ++j)maxn = max(maxn, gcd(num[i], num[j]));return maxn;}int main(){int t;char ch;scanf("%d ", &t);while (t--){n = 0;while (true){scanf("%d", &num[n++]);while ((ch = getchar()) == " ");ungetc(ch, stdin);if (ch == 10 || ch == -1) break;}printf("%d ", cal());}return 0;}C++风格:
/*0.009s*/#include<cstdio>#include<iostream>#include<sstream>#include<string>using namespace std;int num[100], n;string s;int gcd(int a, int b){return b ? gcd(b, a % b) : a;}int cal(){int i, j, maxn = 0;for (i = 0; i < n - 1; ++i)for (j = i + 1; j < n; ++j)maxn = max(maxn, gcd(num[i], num[j]));return maxn;}int main(){int t;scanf("%d ", &t);while (t--){getline(cin, s);stringstream ss(s);n = 0;while (ss >> num[n])++n;printf("%d ", cal());}return 0;}作者署名:csdn博客 synapse7