#include <iostream>
using namespace std;
void printfcontinuesequence(int a,int b)//打印序列
{
for(int i=a;i<=b;i++)
cout<<i<<' ';
cout<<endl;
}
void findcontinuesequence(int sum) //找序列
{
if(sum<3)
return;
int small = 1;
int large = 2;
int middle = (sum+1)/2;
int ind = small + large;
while(small < middle)//停止条件
{
if(ind == sum) //符合条件,打印序列,寻找下一序列
{
printfcontinuesequence(small,large);
large++;
ind+=large;
}
else if(ind > sum) //不要忘记从和中减去small
{
ind-=small;
small++;
}
else //不要忘记从和中加上large
{
large++;
ind+=large;
}
}
}
int main()
{
findcontinuesequence(8);
return 0;
}
剑指offer T41
最新推荐文章于 2021-04-09 10:42:11 发布