(剑指offer)和为s的连续正数序列

输入 15
输出
1 2 3 4 5
4 5 6
78

void seqNumber(int num) {
    int min = 1, max = 2;
    int sum = min + max;
    while (min <= (num + 1) / 2) {
        while (sum < num && min < max) {
            max++;
            sum += max;
        }
        if (sum == num) {
            printNum(min, max);
            sum -= min;
            min++;
        }
        if (sum > num) {
            sum -= min;
            min++;
        }
        if (min == max)
            max++;
    }
}

你可能感兴趣的:((剑指offer)和为s的连续正数序列)