n个数的最大公约、最小公倍数

 #include <cstdio>
#include <cstring>
using namespace std;
#define N 1010 //两个数的最大公约数和最小公倍数
__int64 Gcd(__int64 a, __int64 b)
{
if(b==)
return a;
return Gcd(b, a%b);
} __int64 Lcm(__int64 a, __int64 b)
{
return a/Gcd(a, b)*b;
} //n个数的最大公约数和最小公倍数
__int64 nGcd(__int64 *a, int n)
{
if(n==)
return *a;
return Gcd(a[n-], nGcd(a, n-));
}
__int64 nLcm(__int64 *a, int n)
{
if(n==)
return *a;
return Lcm(a[n-], nLcm(a, n-));
}
int main()
{
int t;
__int64 a[N], n;
scanf("%d", &t);
while(t--)
{
scanf("%I64d", &n);
for(int i=; i<n; i++)
scanf("%I64d", a+i);
__int64 tp = nLcm(a, n);
printf("%I64d\n",tp);
}
}
上一篇:Find closest value in BST


下一篇:python 中文编码(一)