HDU 2028Lowest Common Multiple Plus

解题报告: 题目大意是输入一个数n,然后输入n个整数,求这n个整数的最小公倍数。

此题可以用GCD,即最大公约数,从输入的第一个输入开始,将结果保存,每输入一个整数就将其乘以保存的结果,然后除以保存的结果跟输入的这个输入的最大公约数。

附上17行代码。

View Code
 1 #include<stdio.h>
 2 int GCD(int x,int y) {
 3     return x%y==0? y:GCD(y,x%y);
 4 }
 5 int main() {
 6     int n;
 7     while(scanf("%d",&n)!=EOF) {
 8         int ans=1,d;
 9         for(int i=1;i<=n;++i) {
10             scanf("%d",&d);
11             ans/=GCD(ans,d);
12             ans*=d;
13         }
14         printf("%d\n",ans);
15     }
16     return 0;
17 }

 

posted @ 2013-05-12 02:30  xiaxiaosheng  阅读(104)  评论(0编辑  收藏  举报