题意:求一组数的最小公倍数。
解题思路:最小公倍数与最大公约数的乘积等于这两个数的乘积,利用结论可较快求出答案,详见代码。
#include <iostream>
#include <cstdio>
using namespace std;
int GCD(int a,int b)
{
return b==0 ? a:GCD(b,a%b);
}
int LCM(int a,int b)
{
return a/GCD(a,b)*b;
}
int main()
{
int T,N,a,b;
scanf("%d",&T);
getchar();
while(T--)
{
scanf("%d%d",&N,&a);
int temp = a;
for(int i = 1; i<N; i++)
{
scanf("%d",&b);
temp = LCM(temp,b);
}
printf("%d\n",temp);
}
return 0;
}