python 和為S的連續正數序列
阿新 • • 發佈:2018-02-20
elif mage last 問題 enc span ret 很快 少包
題目描述:
小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和為S的連續正數序列? Good Luck!
1 class Solution: 2 def FindContinuousSequence(self, tsum): 3 # write code here 4 head =1 5 last = 2 6sum = 3 7 r = [] 8 while last<= (tsum+1)/2: 9 if sum == tsum: 10 r.append(xrange(head,last+1)) 11 last = last + 1 12 sum = sum +last 13 elif sum<tsum: 14 last = last + 1 15 sum = sum + last16 else : 17 sum = sum - head 18 head = head + 1 19 return r
python 和為S的連續正數序列