码迷,mamicode.com
首页 > 其他好文 > 详细

和为s的连续正数序列

时间:2020-04-28 15:30:07      阅读:45      评论:0      收藏:0      [点我收藏+]

标签:lse   相等   sum   bsp   开始   变量   color   else   seq   


题目描述
输出所有和为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的连续正数序列

标签:lse   相等   sum   bsp   开始   变量   color   else   seq   

原文地址:https://www.cnblogs.com/shuangcao/p/12794076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!