题意:求多个数的最小公倍数,两两求即可。
注意数据范围,32字节 2^32 . int是16字节的。
#include <iostream>
#include <cmath>
#include <algorithm>
#define ll long long
using namespace std;
ll gcd(ll a,ll b)
{
ll t1=max(a,b);
ll t2=min(a,b);
while(b)
{
ll tp=a%b;
a=b;
b=tp;
}
return a;
}
ll lcm(ll a,ll b)
{
return a*b/gcd(a,b);
}
int main()
{
ll T,n,c,d;
cin>>T;
while(T--)
{
cin>>n>>c;
n--;
while(n--)
{
cin>>d;
c=lcm(c,d);
}
printf("%lld\n",c);
}
return 0;
}