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