很多整数可以由一连串的整数序列(至少两个数)相加而成,比如 25=3+4+5+6+7=12+1325=3+4+5+6+7=12+13。
输入一个整数 N,输出 N 的全部整数序列,如果没有则输出 NONE
。
输入格式
一个整数 N。
输出格式
每行输出一个满足条件的整数序列。
序列内部元素从小到大排序。
优先输出首项更小的序列。
数据范围
2≤N≤10^7
输入样例:
25
输出样例:
3 4 5 6 7
12 13
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin>>N;
int flag = 0;
for(int i = 1;i<N;i++)
{
int sum = 0;
for(int j = i;j<N;j++)
{
sum+=j;
if(sum>N)
break;
if(sum==N)
{
for(int k = i;k<j;k++)
cout << k<<" ";
cout<<j<<endl;
flag = 1;
break;
}
}
}
if(flag==0)
cout<<"NONE";
}