Description
题目:输入一个正数n,输出所有和为n连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列
1,2,3,4,5和4,5,6和7,8。
Input
输入:
15
Output
输出:
1 2 3 4
4 5 6
7 8
Sample Input
15
Sample Output
1 2 3 4 54 5 67 8
代码如下:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int start=1,end=2,mid=n/2;
int sum=(start+end);
while (start<=mid)
{
if(sum<n)
sum+=++end;
else if(sum>n)
sum-=start++;
else
{
for(int i=start; i<end; i++)
cout<<i<<" ";
cout<<end<<endl;
sum-=start++;
}
}
return 0;
}
运行结果: