code for fun

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

描述

求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 }

 
posted on 2013-05-10 10:43  xueda120  阅读(259)  评论(0编辑  收藏  举报