HDU2028为什么总是WA,输出明明没错的。求指导!告诉我错在哪里?

#include<iostream>//HDU2028usingnamespacestd;intbcd(inta,intb){if(a<b){intt=a;a=b;b=t... #include <iostream>//HDU 2028
using namespace std;
int bcd(int a,int b)
{
if(a<b) { int t=a;a=b;b=t; }
return (b==0? a : bcd(b,a%b) );
}

void main()
{
int n,num[1001]={0},k,l;
while(cin>>n)
{
if(n==0) continue;
k=0,l=0;
for(int i=1;i<=n;i++)
{
cin>>num[i];
}
k=num[1];
for(int i=1;i<n;i++)
{
l=num[i+1];
k=(k*l)/bcd(k,l);
}
cout<<k<<endl;
}
}
展开
 我来答
百度网友bcea2bb
2012-03-16
知道答主
回答量:10
采纳率:0%
帮助的人:15.4万
展开全部
k=(k*l)/bcd(k,l);
这样写有溢出的风险,也是错误的根源~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式