概述
牛客网上的剑指 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
方法二:# -*- coding:utf-8 -*- class Solution: def FindContinuousSequence(self, tsum): sum = 0 all = [] for i in range(1, tsum+1): for j in range(i+1, tsum+1): res = (j + i) * (j - i + 1) if res == 2*tsum: seq = range(i, j+1) all.append(seq) all.sort() return all
最后
以上就是飘逸冰棍为你收集整理的Python :连续正数序列的全部内容,希望文章能够帮你解决Python :连续正数序列所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复