牛客网上的剑指 offer的在线编程:
题目描述:
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
方法一:
# -*- coding:utf-8 -*- class Solution: def FindContinuousSequence(self, tsum): sum = 0 all = [] for i in range(1, tsum+1): sum = sum + i for j in range(i+1, tsum+1): sum += j if sum < tsum: pass elif sum == tsum: seq = range(i, j+1) all.append(seq) sum = 0 break else: sum = 0 break all.sort() return all
方法二: