hdu 2028 Lowest Common Multiplus

3552 ワード

テーマリンク:http://acm.hdu.edu.cn/showproblem.php?pid=2028
最小公倍数を求め、転々と除算する。
 1 #include <stdio.h>

 2 int main ()

 3 {

 4     int gcd(int a,int b);

 5     int a,b,n,i,c;

 6     while (scanf("%d",&n)!=EOF)

 7     {

 8         scanf ("%d",&a);

 9         for (i=1; i<=n-1; i++)

10         {

11             scanf ("%d",&b);

12             c=gcd(a,b);

13             a=a/c*b;

14         }

15         printf ("%d
",a); 16 } 17 return 0; 18 } 19 int gcd(int a,int b) 20 { 21 if (b==0) 22 return a; 23 return gcd(b,a%b); 24 }