模板总结归纳:
//欧几里得算法(辗转相除法)
//O(logN)
/*int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a % b);
}
*/
实战模板题 :HDU1019 Least Common Multiple
#include<iostream>
#include<cstdio>
using namespace std;
int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a % b);
}
int main()
{
int n;
cin >> n;
while(n--)
{
int m, a;
int ans = 1;
cin >> m;
while(m--)
{
cin >> a;
ans = a / gcd(a, ans) * ans; // 注意此处需要防止溢出
}
cout << ans << endl;
}
return 0;
}