首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

麻烦大家帮小弟我看看这个求最小公倍数的题错哪了,是ACM题,测试例子通过了,但提交说wrong answer

2012-03-06 
麻烦大家帮我看看这个求最小公倍数的题哪里错了,是ACM题,测试例子通过了,但提交说wrong answer/*求多个数

麻烦大家帮我看看这个求最小公倍数的题哪里错了,是ACM题,测试例子通过了,但提交说wrong answer
/*求多个数的最小公倍数,就是先把这组数排序,
然后分别两两求公倍数,重新得到一组数,直到
最后一个数就是所有数的公倍数。如3 5 7 15这组数,
先求3和5的公倍数得15,15再和7求公倍数得105,
105再和15求最终得这组数的最小公倍数是105.*/
#include<cstdio>
#include<algorithm>
const int MAX=1000;
using namespace std;
/*先写一个求两个数的公倍数的函数*/
int GBS(int a,int b)
{
int min,max,gbs,i;
min=(a<=b)?a:b;
max=(a>b)?a:b;
for(i=1;i<=max;i++){
if((min*i)%max==0)
{gbs=min*i;break;}
}
return gbs;
}
int main()
{
int T,N,a[MAX],i,gbs;
scanf("%d",&T);
while(T>0){
scanf("%d",&N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
sort(a,a+N);
for(i=0;i<N;i++){
if(i==0)gbs=GBS(a[i],a[i+1]);
else gbs=GBS(a[i],gbs);
}
printf("%d\n",gbs);
T--;
}
return 0;
}

[解决办法]
没考虑0吧,若全是0.最小公倍数是0
[解决办法]
还有只有一个数的时候,最小公倍数是他本身

热点排行