题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2028
// 注意题目中的隐含条件,本题虽然结果为32位,但中间可能会出现越界,
// 所以果断long long 。 依次求两个数的最小公倍数
源代码:
#include<iostream>
using namespace std;
long long yueshu(long long x,long long y)
{
long long mid;
if(x==0) return y;
if(y==0) return x;
if(x>y) mid=yueshu(y,x%y);
else mid=yueshu(x,y%x);
return mid;
}
long long beishu(long long x,long long y)
{
long long mid=x*y;
long long k=yueshu(x,y);
//cout<<k<<endl;
mid/=k;
return mid;
}
int main()
{
int n;
long long a,b,c;
while(cin>>n)
{
cin>>a;
c=a;
for(int i=1;i<n;i++)
{
cin>>b;
c=beishu(c,b);
}
cout<<c<<endl;
}
}