我是靠谱客的博主 漂亮方盒,最近开发中收集的这篇文章主要介绍python整数数列求和_Python算法题----求出和为S的所有连续正整数数列,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

从1开始,求出所有的和为21的连续正整数数列。比如1+2+3+4+5+6 和为 21, 6+7+8和为21。

解法:该题目仍然需要首尾两个指针,一个为start,一个为end。sum=start+end。 如果sum大于21,start后移,如果等于21,打印start到end的数列。start,end全部后移。如果小于21,end后移。指针移动时。注意,sum的值也要相应变化。def addSeq(n):

start, end = 1, 2

stop = (n+1) / 2

mysum = start + end

while start 

if mysum == n:

print range(start, end+1)

mysum -= start

start += 1

end += 1

mysum += end

elif mysum 

end += 1

mysum += end

else:

mysum -= start

start += 1

if __name__ == '__main__':

addSeq(21)

答案:

C:Python27python.exe E:/cyou-inc.com/test/test.py

[1, 2, 3, 4, 5, 6]

[6, 7, 8]

[10, 11]

最后

以上就是漂亮方盒为你收集整理的python整数数列求和_Python算法题----求出和为S的所有连续正整数数列的全部内容,希望文章能够帮你解决python整数数列求和_Python算法题----求出和为S的所有连续正整数数列所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部