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 }

你可能感兴趣的:(com)