编程笔试(解析及代码实现):和为s的连续正数序列。输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
目录
输出描述
和为s的连续正数序列。输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
代码实现
# -*- coding:utf-8 -*-
class Solution:
def FindContinuousSequence(self, tsum):
# write code here
i, j, lists = 1, 2, []
while j <= (tsum+1)//2:
t = sum(range(i,j+1))
if t < tsum: #if判断如果和<给定总数,长度变大
j += 1
elif t > tsum: #if判断如果和>给定总数,长度变小
i += 1
else: #当前组合正