输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
#define N 15 void findSubquence(int n) { int end = (n + 1) / 2; int small = 1; int big = 2; int sum = small + big; //N/2<=small<big,small>N/2,否则,small+big>N while (small < end) { if (sum < n) { big++; sum += big; continue; } else if (sum == n) { cout << small << "-" << big << endl; } sum -= small; small++; } }