天天看点

hdu 1019

题意:求M个数 的最小公倍数

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1000009;
long long g[maxn];
int n;
int m;
long long gcd(long long a,long long b)
{
    return b ? gcd(b,a%b):a;
}
int main()
{
    scanf("%d",&n);

    while(n--)
    {
        memset(g,0,sizeof(g));
        scanf("%d",&m);
        for(int i=0; i<m; i++)
            scanf("%lld",&g[i]);

        long long temp=1;//注意1溢出
        for(int i=0; i<m; i++)
        {
            long long a=temp;
            long long b=g[i];
            temp=(a*b)/gcd(a,b);

        }
        printf("%lld\n",temp);
    }

    return 0;
}