11827-maximum GCD
Time limit:1.000 seconds
Http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem &problem=2927
Given the N integers, you have to find the maximum GCD (greatest common divisor) of every possible pair.
Input
The the "a" of input is a integer N (1<n<100) that determines the number of test cases.
The following n lines are the n test cases. Each test case contains M (1<m<100) positive integers this you have to find the maximum of GCD.
Output
For the maximum GCD of every possible pair.
Sample Input |
Output for Sample Input |
3 10 20 30 40 7 5 12 125 15 25 |
20 1 25 |
C Style:
/*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\n", &t);
while (t--)
{
n = 0;
while (true)
{
scanf ("%d", &num[n++]);
while (ch = getchar ()) = = ")
;
UNGETC (CH, stdin);
if (ch = = | | | ch = = 1) break;
}
printf ("%d\n", Cal ());
}
return 0;
}
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/
C + + Style:
/*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\n", &t);
while (t--)
{
getline (CIN, s);
StringStream SS (s);
n = 0;
while (SS >> Num[n])
++n;
printf ("%d\n", Cal ());
}
return 0;
}
Author Signature: CSDN blog Synapse7