#include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> #include <iomanip> #include<math.h> using namespace std; int GCD(int num1, int num2) { if (num1%num2 == 0) return num2; else return GCD(num2, num1%num2); } int LCM(int a, int b) { int temp_lcm; temp_lcm = a / GCD(a, b)*b; //先除后乘,否则数据溢出导致WA return temp_lcm; } int main() { //数据组数 int n = 0; while (cin >> n) { while (n--) { //变量数 int k = 0; cin >> k; //将变量初始化 int b = 0; int lcm, a = 1; for (int i = 0; i < k; i++) { //将每次输入的变量设置为b,计算a与b的LCM,随后将LCM赋值给a cin >> b; lcm = LCM(a, b); a = lcm; } cout << lcm << endl; } } }
HDU-ACM课堂作业 Least Common Multiple
原文:https://www.cnblogs.com/DaiShuSs/p/9690464.html