今天做计蒜客oj上一道题目爬楼梯仳较有意思
50)n(1≤n≤50)代表楼梯的级数。
输出爬到楼梯顶部的方法总数
如果走一级楼梯,那么只有1这一种走法
走两级楼梯那么有(11),2这樣的两种走法
走三级楼梯那么有(111),(12)(21)三种走法
走四级楼梯,那么有(1111)(121),(112)(211),(22)五种不同的走法
以此類推。。。。
我们可以发现是不是和递归里面的斐波罗契数列很想没错就是f(n)=f(n-1)+f(n-2)这样子的递归函数。
但是题目给出测试条件是1到50你会發现超过40以后程序运行时间会变得很慢在oj上是通过不了的,比如下面就是时间超限的代码: