HDU 2028 Lowest Common Multiple Plus

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 int gcd(int a,int b)
 5 {
 6     return b==0?a:gcd(b,a%b);//辗转取余法
 7 }
 8 int main()
 9 {
10     int n,a,b,i,k;
11     while(scanf("%d",&n)!=EOF)
12     {
13         scanf("%d",&b);
14         for(i=1;i<n;i++)
15         {
16             scanf("%d",&a);
17             k=gcd(b,a);
18             b=b/k*a;//此处注意题意不能超出整数范围,即不能先乘再除 
19         }
20         printf("%d\n",b);
21     }
22     system("pause");
23     return 0;
24 }

posted on 2012-08-02 16:18  mycapple  阅读(135)  评论(0)    收藏  举报

导航