递归和递推解决爬楼梯问题
来源:互联网 发布:oracle数据库无法连接 编辑:程序博客网 时间:2024/06/04 18:29
题目:楼梯一次可以爬1级,也可以爬2级,有N级楼梯,有多少种走法?
看到此题首先找出规律
1 走到第1级,有1种方法
2 走到第2级,有2种方法
3 走到第3级,有3种方法
4 走到第4级,有5种方法
5 走到第5级,有8种方法
以此类推,后面的总等于前面两级方法之和,现在使用递归和递推两种方法解决本问题
利用递归实现
#include <stdio.h>int climb(int pos){ if(1 == pos) return 1; else if(2 == pos) return 2; else return (climb(pos-1)+climb(pos-2));}int main(){ int stair = 0; printf("Please Input:"); scanf("%d", &stair); printf("Result:%d\n", climb(stair)); return 0; }
利用递推实现,编译时注意要加上 -std=c99
#include <stdio.h>int main(){ int size; printf("Please Input:"); scanf("%d", &size); int stair[size]; stair[0] = 1; stair[1] = 2; for(int i=2; i<size; i++) { stair[i] = stair[i-1]+stair[i-2]; } printf("Result:%d\n", stair[size-1]); return 0; }
- 递归和递推解决爬楼梯问题
- 递推G 爬楼梯
- 典型递归问题--爬楼梯
- 0/1背包问题(递归解决,递推解决)
- 爬楼梯问题的解决
- 回溯解决爬楼梯问题
- 递归和递推
- 递推和递归
- 递推和递归
- 递推——爬楼梯
- 爬楼梯问题(递归+动态规划)
- 算法学习之递归--爬楼梯问题
- 超级楼梯 递推
- 上楼梯递归问题
- N阶楼梯上楼问题(简单递推)
- 递归递推问题 #A
- (C语言)整数划分问题 递归和递推
- [leetcode]爬楼梯的递归和非递归方法
- 二层交换机2950实验5---cisco 2950 端口聚合例子
- Js中replace()的用法
- javascript 类 构造函数和原型
- 解缩文件 zipFile支持中文
- 报错android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
- 递归和递推解决爬楼梯问题
- 半素数
- SDK中都包含什么?
- 第一个项目UI界面设计完成---总结
- 编程珠玑--旋转算法
- Eclipse运行时提示failed to create the java virtual machine
- Sql Update语句使用表别名的方法(多种方法,经典)
- 用gdb如何查看指定地址的内存内容?
- usb接口抗干扰特性普遍很差