腾讯面试问题:50步,向上走有多少路?

做这个问题最简单的方法就是分析。

即假设梯子有N层,那么按照N=1,2,3,4逐步分析...

一般规律,即a(n)=a(n-2)+a(n-1),可以看出这是一个递推公式。

同时也满足斐波那契数列。

所以20步走a(20)是斐波那契数列的第20项。

a(20)=fib(20)=10946

另一个更复杂。根据走两步的不同情况分析,至少不走一步,最大为10。(也可以按照1的步骤,但是太多了。)

(1)有1种情况都没有采取任何步骤。

(2)取1 2步,共* * *步数19,随机选取1 C (19,1)为2步。

(3)取两个2步,总共* * *步数为18,在18中随机选取两个作为2步。C(18,2)

以此类推C (17,3);C(16,4);C(15,5)……C(10,10)

总路线= 1+C (19,1)+C (18,2)+C (17,3)+...+C (10,65438+。

=1+19+153+ 680+1820+……+1=10946