700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python算法题----求出和为S的所有连续正整数数列

Python算法题----求出和为S的所有连续正整数数列

时间:2022-08-08 22:41:23

相关推荐

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的值也要相应变化。

defaddSeq(n):start,end=1,2stop=(n+1)/2mysum=start+endwhilestart<stop:ifmysum==n:printrange(start,end+1)mysum-=startstart+=1end+=1mysum+=endelifmysum<n:end+=1mysum+=endelse:mysum-=startstart+=1if__name__=='__main__':addSeq(21)

答案:

C:\Python27\python.exe E:/cyou-/test/test.py

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

[6, 7, 8]

[10, 11]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。