| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:c++ problem
只看楼主 加入收藏
小小唐
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-21
收藏
 问题点数:0 回复次数:3 
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
chuxuezhe17
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-18
收藏
得分:0 
是不是你的输出结果达不到他那么大数的要求?
2^30毕竟不小
2007-10-27 22:50
小小唐
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
快速回复:c++ problem
数据加载中...
 
   



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

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