废话不多说,看代码,有不懂处留言即可。
#include <cstdio>
const int N = 15;
int
Gcd(int a, int b) {
while (b ^= a ^= b ^= a %= b);
return a;
}
int
Commom_Gcd(const int *num, int &n) {
int temp = num[0];
for (int i = 1; i < n; ++i)
temp = Gcd(temp, num[i]);
return temp;
}
int
Commom_Lcm(const int *num, int &n) {
int temp = num[0];
for (int i = 1; i < n; ++i)
temp = temp / Gcd(temp, num[i]) * num[i];
return temp;
}
int main() {
int t;
scanf("%d", &t);
int n, num[N], i,j;
for ( j=1; j<=t; ++j ){
printf("Test %d:\n", j);
scanf("%d", &n);
for ( i = 0; i < n; ++i )
scanf("%d", &num[i]);
printf("%d\n%d\n", Commom_Gcd(num, n),Commom_Lcm(num,n) );
}
return 0;
}