您的位置:首页 > 职场人生

有1000阶的台阶,一个人每次只能走一阶或两阶,用一个递归算法求出共有多少种走法。

2010-11-13 12:21 507 查看
分析】这是一典型的排列组合问题, 但若用排列组合来分析则演变为纯数学问题,则无法用递归的方法来解决。能使用递归的方法的模型的规律是问题的解决方法与问题的规模无关,因此可以先从数字的规律入手:
假设共有i阶台阶, 走完所有的台阶有n种走法,则:
1. i = 1时, n = 1; {1}
2. i = 2, n = 2; {[1, 1], [2]}
3. i = 3, n = 3; {[1, 1, 1], [1, 2], [2, 1]}
4. i = 4, n = 5; {[1, 1, 1, 1], [1, 1, 2], [1, 2, 1], [2, 1, 1], [2, 2]}
5. i = 5, n = 8; ............
.........................................
.........................................
因此,我们可以得到规律
f(n) = f(n-1) + f(n-2) (n>=3), 从而得到递归算法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 算法 休闲
相关文章推荐