您的位置:首页 > 其它

hdu1019

2016-03-09 23:33 330 查看
题意:求n个数的最大公倍数;

#include<stdio.h>
#define max(x,y) (x>y?x:y)
#define min(x,y) (x<y?x:y)
int find(int a1,int a2)
{
int t1=a1%a2;
while(t1!=0)
{
a1=a2;
a2=t1;
t1=a1%a2;
}
return a2;
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int t;
scanf("%d",&t);
int i;
int j,k,a;
scanf("%d",&k);
for(i=1;i<t;i++)
{
__int64 x1,x2;//这里注意64位整型
scanf("%d",&j);
if(k==0||j==0)
{
k=0;
}
else
{
x1=max(k,j);
x2=min(k,j);
if(x1%x2==0)
k=x1;
else
{
a=find(x1,x2);
k=(x1*x2)/a;
}
}
}
printf("%d\n",k);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: