王大法上台阶问题
电影《少年班》里老师给王大法出了一个问题,题目是:有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)
如此类推,通项公式也依次类推也可以做,只是要解高次方程。