電影《少年班》里老師給王大法出了一個問題,題目是:有20級台階每次可以上1級或2級,一共有多少種上法?
如果按照排列組合分類的方法我是沒分出來,如果按照類似動態規划的方法就很好解了。
如果有n級台階,設總上法有f(n),那第一腳上1級,剩下的n-1級台階的情況下就是f(n-1)種上法,如果第一腳上2級,剩下n-2級台階就是f(n-2)種上法,並且第一腳上1級和第一腳上2級的方法肯定不重復,並且第一腳只能上1級或2級,所以
f(n) = f(n-1) + f(n-2)
這就是斐波那契數列啊,f(1)=1,f(2)=2
f(20)=10946
通項公式的解法可以參考下面的地址,解法很有創意,用到組合數學的東西,學習了下相關的知識終於明白了。
https://my.oschina.net/Tsybius2014/blog/688865?p=1
組合數學很有趣,又打開一個新世界。
類似的如果每次可以上1級或2級或3級,那
f(n) = f(n-1) + f(n-2) + f(n-3)
如此類推,通項公式也依次類推也可以做,只是要解高次方程。