題目描述
小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和為s的連續正數序列? good luck!
輸出描述:
輸出所有和為s的連續正數序列。序列內按照從小至大的順序,序列間按照開始數字從小到大的順序
/**思路:輸入sum=20(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1,定義兩個指標,左指標從1開始,右指標從2開始迴圈開始
2,求和(1+2 = 3
3,如果判斷3小於20,右指標++,2變為3,求和3+3=6。迴圈一直到右指標=6,和為21。
4,else if 判斷21大於20,左指標++,1變為2,和減去左指標值,和為21-1=20。
5,else 和與輸入一樣,存數。 【再把右指標++,求和,求剩餘組合】
迴圈結束
*/
# -*- coding:utf-8 -*-
class
solution
:def
findcontinuoussequence
(self, tsum)
:# write code here
small =
1 big =
2 mid =
(tsum+1)
/2temp = small+big
res =
while smallif temp==tsum:
range
(small,big+1)
) big+=
1 temp+=big
elif tempbig+=
1 temp+=big
else
: temp-=small
small+=
1return res
41 和為S的連續正數序列
題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的...
41 和為S的連續正數序列
小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和...
41 和為s的連續正數序列
題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9 16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100 至少包括兩個數 沒多久,他就得到另一組連續正數和為100的序列 18,19,20,21,22。現在把問題交給你,你能不能也很快的...