解题报告:
很简单的水题,就是求LCM而且指明了是在int范围内!唯一值得注意的是:lcm函数中必须先除再乘,否则有溢出的可能!
#include <iostream>
using namespace std;
int gcd(int a,int b){
if(b==0) return a;
return gcd(b,a%b);
}
int lcm(int a,int b){
int GCD=gcd(a,b);
if(GCD==0) return 0;
return a/GCD*b; //先除再乘
}
int main()
{
int T,n,a;
int ans;
cin>>T;
while(T--){
cin>>n>>a;
ans=a;
for(int i=2;i<=n;++i){
cin>>a;
ans =lcm(ans,a);
}
cout<<ans<<endl;
}
}