把一个整数写成几个连续几个整数的和(用c++)

[复制链接]
查看11 | 回复2 | 2008-11-5 16:56:13 | 显示全部楼层 |阅读模式
写了一个程序,0ERROR,不知道那为什么 输入一个整数后不输出结果。麻烦高人指点,小弟我是初学者,程序有些混乱望见谅
#include
using namespace std;
int main()
{int m;
cin>>m;
int n,x,z,sum=0;
for(n=1;n<=m/2;n++)
{x=n;
while(sum<=m)
{sum=sum+x;
x++;
if (sum==m)
{cout<<m<<"="<<n;
z=n;
for(z=n;z<=x;z++)
{cout<<"+"<<z;}
cout<<endl;
}
}
}
return 0;}

回复

使用道具 举报

千问 | 2008-11-5 16:56:13 | 显示全部楼层
首先,并不是所有整数都可以满足你说的条件,我把你的程序改了你下,你先看看结果3=1+26=1+2+310=1+2+3+415=1+2+3+4+521=1+2+3+4+5+628=1+2+3+4+5+6+736=1+2+3+4+5+6+7+845=1+2+3+4+5+6+7+8+955=1+2+3+4+5+6+7+8+9+1066=1+2+3+4+5+6+7+8+9+10+1178=1+2+3+4+5+6+7+8+9+10+11+1291=1+2+3+4+5+6+7+8+9+10+11+12+13105=1+2+3+4+5+6+7+8+9+10+11+12+13+14120=1+2+3+4+5+...
回复

使用道具 举报

千问 | 2008-11-5 16:56:13 | 显示全部楼层
你的输出条件是sum==m 有些整数不会满足这个条件,如9.有些整数可以实现这样的条件如3,6,10.所以你要看下什么时候符合sum==m才会输出的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行