演算法模板之歐幾里得演算法(HDU1019 Least Common Multiple)
阿新 • • 發佈:2019-02-06
模板總結歸納:
//歐幾里得演算法(輾轉相除法)
//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; }