题目:输入一个正数n,输出所有和为n连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
代码如下:
//输入一个正数n,输出所有和为n连续正数序列
void func(int n)
{
for(int i=1;i<=n/2+1;i++)
{
int m=0,k=0;
int sum=0;
for(int j=i;j<=n/2+1;j++)
{
sum+=j;
if(sum==n)
{
m=j;
k=i;
break;
}
if(sum>n) break;
}
if(m>0)
{
for(int i=k;i<m;i++)
cout<<i<<"+";
cout<<m<<"="<<n<<endl;
}
}
}