hdu2028 最小公倍数

#include<stdio.h>
_int64 ans(_int64 a, _int64 b)
{
 _int64 n = a*b;
 _int64 temp,r;
 if(a<b)
 {
  temp = a;
  a = b;
  b = temp;
 }
 while(b!=0)
 {
  r = a%b;
  a = b;
  b = r;
 }
 return n/a;
}
int main()
{
 _int64 num;
 _int64 m,i,j,k,a[10000];
 while(scanf("%I64d",&num)!=EOF)
 {
  i = 0;
  k = 1;
  while(num--)
  {
   scanf("%I64d",&m);
   a[i++] = m;
  }
  for(j = 0; j!=i; j++)
   k = ans(a[j],k);
  printf("%I64d\n",k);
 }

 return 0;
}

 

你可能感兴趣的:(hdu2028 最小公倍数)