最小公倍数,水题
本题要点:
1、要求若干个数的最小公倍数,每次求两个,循环求即可。
2、注意使用 long long
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int T, n;
long long gcd(long long a, long long b)
{
return b == 0 ? a : gcd(b, a % b);
}
long long lcm(long long a, long long b)
{
return a / gcd(a, b) * b;
}
int main()
{
long long x, y;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
scanf("%lld", &x);
for(int i = 1; i < n; ++i)
{
scanf("%lld", &y);
x = lcm(x, y);
}
printf("%lld\n", x);
}
return 0;
}
/*
2
3 5 7 15
6 4 10296 936 1287 792 1
*/
/*
105
10296
*/