刚开始一直AC不过,最后想起来是因为两个整数的和,以及公倍数会超出int的范围改成__int64就好啦
#include <iostream>
using namespace std;
int main()
{ int N,m,a,t;
cin>>N;
while(N--){
cin>>m;
__int64 b=1;
while(m--){
cin>>a;
__int64 c=a*b;
if(a<b){
t=a;
a=b;
b=t;
}
while(a%b!=0){
t=a%b;
a=b;
b=t;
}
b=c/b;//得出两个数的最小公倍数赋值给b,继续求公倍数
}
cout<<b<<endl;
}
return 0;
}