题目:
输入一个正数n,输出所有和为n连续正数序列。
例如输入15,输出1 2 3 4 5、4 5 6、7 8
void PrintContinuesSequence(int small, int big) { for(int i=small; i<=big; ++i) cout << i <<" "; cout << endl; } void FindContinuesSequence(int n) { if (n<3) return; int small=1; int big=2; int middle=(1+n)/2;//用于判断结束 int sum =small+big; while(small < middle) { if(n==sum) PrintContinuesSequence(small, big);//重新计算sum后就要判断 while(sum > n) { sum -=small;//先减去small small++; if(n==sum) PrintContinuesSequence(small, big);//注意需要重新计算sum后就要判断 } big++; sum +=big; } }