(TOJ1070)Least Common Multiple

描述

求n个数的最小公倍数。

输入

输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。

输出

为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。

样例输入

2 4 6
3 2 5 7

样例输出

12
70

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<string.h>
 4 #include<ctype.h>
 5 
 6 int a[1000];
 7 
 8 int gcd(int x,int y) //计算两个数的最大公约数
 9 {
10     while(x>y?(x%=y):(y%=x));
11     return x+y;
12 }
13 void solve()
14 {
15     int i,n;
16     __int64 sum;
17     while(scanf("%d",&n)!=EOF)
18     {
19       for(i=0; i<n; i++) scanf("%d",&a[i]);
20       sum=a[0];
21       for(i=1;i<n;i++) sum=sum*(a[i]/gcd(a[i],sum));
22       printf("%I64d\n",sum);
23     }
24 }
25 
26 
27 int main()
28 {
29     solve();
32     return 0;
33 }

 
原文地址:https://www.cnblogs.com/xueda120/p/3070658.html