上樓梯 溢位問題

2021-08-19 17:42:01 字數 1031 閱讀 7126

有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階、2階、3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007

給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。

a[i]=((a[i-1]+a[i-2])%1000000007+a[i-3])%1000000007的解釋:

取模運算有這樣乙個性質:(a+b)%c = ((a%c)+(b%c))%c

所以(a[i-1]+a[i-2])%1000000007就相當於(a[i-1]%x+a[i-2]%x)%x   用x代替1000000007

這樣就使得a[i-1]、a[i-2]、a[i-1]+a[i-2]都沒有溢位,之後再與a[i-3]相加之後取模,使得全部結果沒有溢位。

%12ms 787k

class goupstairs

};

測試樣例:

%12ms 484k

class goupstairs

return ft ;

} }};

上樓梯問題,模餘防止溢位

題目 有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階 3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007 給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。測試樣例 1返回 1 class goups...

上樓梯問題 棧

這樣說可能有些費解,尤其對於初學者來說,接觸這道題的時間可能還未觸及資料結構的層次,或者有所耳聞,但是卻沒有沒法有足夠的模擬和抽象化的能力理解棧是怎樣執行的,那麼我們就從這道題開始,盡量讓你用一道題就掌握棧這個資料結構 有n級的台階,你一開始在底部,每次可以向上邁最多k級台階 最少1級 問到達第n級...

N階樓梯上樓問題

n階樓梯上樓問題 一次可以走兩階或一階,問有多少種上樓方式。要求採用非遞迴 輸入包括乙個整數n,1 n 90 可能有多組測試資料,對於每組資料,輸出當樓梯階數是n時的上樓方式個數。示例1 4 5 此題考查的是斐波那契數列。對於n階的樓梯,設其上樓方法有f n 種方法。上到n階,只能從n 1階上一階,...