和为s的连续正数序列
Posted shuangcao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了和为s的连续正数序列相关的知识,希望对你有一定的参考价值。
题目描述
输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
思路:
设置两个变量,small,big,如果连续和小于给定值,增加big,大于给定值,增加small,如果相等,将连续序列加入结果中,同时增加small和big,以便找到下一组连续序列
代码
1 # -*- coding:utf-8 -*-
2 class Solution:
3 def FindContinuousSequence(self, tsum):
4 # write code here
5 res = []
6 if tsum<=2:#2及2以下不存在
7 return res
8 small = 1
9 big = 2
10 while small < big:
11 lst = []
12 #for i in range(small,big+1,1):
13 #lst.append(i)
14 lst = [i for i in range(small,big+1,1)] #简写方式
15 if sum(lst)> tsum:
16 small +=1
17 elif sum(lst)< tsum:
18 big +=1
19 else:
20 res.append(lst)
21 small += 1
22 big += 1
23 return res
24
以上是关于和为s的连续正数序列的主要内容,如果未能解决你的问题,请参考以下文章