HDU 1019(求最小公倍数 **)

题意是求一组数的最小公倍数,不用存,每次输入即刻处理即可。

补充一点:两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积。 

代码如下:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int gcd(int a,int b)
 4 {
 5     return !b?a:gcd(b,a%b);
 6 }
 7 int main()
 8 {
 9     int t,m,n,tmp;
10     scanf("%d",&t);
11     while(t--)
12     {
13         tmp = 1;
14         scanf("%d",&m);
15         while(m--)
16         {
17             scanf("%d",&n);
18             tmp = tmp/gcd(tmp,n)*n;
19         }
20         printf("%d\n",tmp);
21     }
22     return 0;
23 }
View Code

 

posted @ 2018-08-24 10:59  Taskr  阅读(162)  评论(0编辑  收藏  举报
Live2D