HDU 1019 Least Common Multiple GCD

解题报告:求多个数的最小公倍数,其实还是一样,只需要一个一个求就行了,先将答案初始化为1,然后让这个数依次跟其他的每个数进行求最小公倍数,最后求出来的就是所有的数的最小公倍数。也就是多次GCD.

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std;
 5 
 6 typedef __int64 INT;
 7 INT GCD(INT a,INT b) {
 8     return a%b==0? b:GCD(b,a%b);
 9 }
10 int main() {
11     int T,n;
12     scanf("%d",&T);
13     while(T--) {
14         scanf("%d",&n);
15         INT c = 1,x;
16         while(n--) {
17             scanf("%I64d",&x);
18             INT tempa = x,tempb = c;
19             if(tempa < tempb)
20             swap(tempa,tempb);
21             c/=GCD(tempa,tempb);
22             c *= x;
23         }
24         printf("%I64d
",c);
25     }
26     return 0;
27 }
28             
View Code
原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3269429.html