日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python剑指offer:和为s的连续整数序列

發(fā)布時(shí)間:2025/4/16 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python剑指offer:和为s的连续整数序列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
''' 輸入一個正數(shù)s,打印出所有和為s的連續(xù)正數(shù)序列(至少含有兩個數(shù))。 例如,輸入15,由于1+2+3+4+5=4+5+6=7+8=15,所以打印三個連續(xù) 序列,1-5,4-6,7-8 '''class Solution:def FindContinuousSequence(self, num):# 要求至少是連續(xù)兩個正數(shù),所以輸入的num不可能比3小if num < 3:return Nonesmall, big = 1, 2# 要求是連續(xù)的數(shù),所以最大的數(shù)也只能是比num一半多一點(diǎn)middle = num // 2 + 1SumNum = 0 # 用來計(jì)算small和big以及之間的數(shù)的和while big <= middle and small < big:SumNum = self.CalculateSum(small, big)# 如果找到就打印if SumNum == num:self.PrintContinuousSequence(small, big)# 找到之后增加big來找下一個big = big + 1SumNum = self.CalculateSum(small, big)# 如果小就擴(kuò)大序列 if SumNum < num:big = big + 1# 如果大就縮小序列if SumNum > num:small = small + 1# 用來計(jì)算small和big之間數(shù)的和def CalculateSum(self, small, big):Sum = 0for i in range(small, big+1):Sum = Sum + ireturn Sum# 用來進(jìn)行打印 def PrintContinuousSequence(self, small, big):for i in range(small, big + 1):print(i)test = Solution() test.FindContinuousSequence(15)

總結(jié)

以上是生活随笔為你收集整理的Python剑指offer:和为s的连续整数序列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。