Least Common Multiple
Description
The least common multiple (LCM) of a set of positive integersis the smallest positive integer which is divisible by all thenumbers in the set. For example, the LCM of 5, 7 and 15 is105.
Input
Input will consist of multiple problem instances. The first line ofthe input will contain a single integer indicating the number ofproblem instances. Each instance will consist of a single line ofthe form m n1 n2 n3 ... nm where m is the number of integers in theset and n1 ... nm are the integers. All integers will be positiveand lie within the range of a 32-bitinteger.
Output
For each problem instance, output a single line containing thecorresponding LCM. All results will lie in the range of a 32-bitinteger.
Sample Input
2
3 5 7 15
6 4 10296 936 1287 792 1
Sample Output
105
10296
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int gcd(int m,int n)
{
if(n<m)
{
int temp=n;
n=m;
m=temp;
}
int r=n%m;
while(r)
{
n=m;
m=r;
r=n%m;
}
return m;
}
int main()
{
int n,m,t,ans;
scanf("%d",&n);
while(n--)
{
ans=1;
scanf("%d",&m);
while(m--)
{
scanf("%d",&t);
ans=t/gcd(ans,t)*ans;//避免数据溢出,先除后乘
}
printf("%d\n",ans);
}
return 0;
}