标题:c++ problem
取消只看楼主
小小唐
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-21
 问题点数:0 回复次数:2 
c++ problem

求最小公倍数


也许你已经会了求2个数字最小公倍数的方法,但是如果求多个数字的最小公倍数,你又能找到办法吗?

Input 多组,每一组首先是 一个n,然后是n个数字.

Output 求出每组n个数字的最小公倍数,输入数据保证结果不超过2^30

Sample Input
5
3 5 7 11 9

Sample Output 3465



#include"iostream.h"
int main()
{
int n,i,t,r,c;
long int p1,p2;
while(cin>>n)
{
cin>>p1;
for(i=1;i<n;i++)
{ cin>>p2;
c=p1*p2;
if (p1<p2)
{
t=p1;
p1=p2;
p2=t;
}
while(p2!=0)
{
r=p1%p2;
p1=p2;
p2=r;
}
p2=c/p1;
p1=p2;
}
cout<<p1<<endl;
}
return 0;
}

这是我自己编的一个程序,试了几组数据运行结果正确.为什么提交系统还是会显示答案错误?

帮忙看一下,哪里不对!






搜索更多相关主题的帖子: problem 
2007-10-27 21:18
小小唐
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-21
得分:0 
应该不是这样吧,long int 的范围是-2^31-1~~2^31-1,能达到2^30的要求!

就是我,独一无二的我!
2007-10-28 18:59
小小唐
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-21
得分:0 

已经解决,是因为c=p1*p2;超出了范围.应该先除后乘.


就是我,独一无二的我!
2007-11-02 12:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-181283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179434 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved