今天群里出了一个算法题,感觉挺好玩,自己小学的时候数学也好,觉得能搞定,想了好久自己还是没找到解决方法,哎,看来智商还待二次发育。先说下题目:
50个台阶,一次可以走1步或2步,问有多少种走法?
看到这题我首先想到的是用for,类似2元钱可以有多少个1块、5毛、2毛、1毛组成,可是仔细想想还是不对,台阶这个是有顺序的,即使50步中只有一个是两步也有好几种情况,这样想着先从2步的算起,最多有26种,在这26种中还要排序,这样算下来脑袋都大了。还好,智慧在民间,群众的力量无限量,百度一下,网上有解决方法,自己看了下,终于找到我当初为什么考不上清华北大的原因了,智商是硬伤啊。
网上的解决思路是: 在走到N台阶之前, 要不走1步,要不走2步,所以f(n)=f(n-1)+f(n-2),很直白,也很佩服网友的智商。
时间: 2024-10-11 22:15:08