超级楼梯
来源:互联网 发布:长岛的雪 知乎 编辑:程序博客网 时间:2024/04/28 05:38
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
对于每个测试实例,请输出不同走法的数量。
本问题不算难,主要是第一次自己写分治和递归,加强一下印象。只考虑最后只剩下一个、两个和三个台阶的情况,这三种情况是很好处理的,其余的情况都可以有这三种基本情况推出。
其实这本质上就是一个斐波那契数列。
#include<stdio.h>int digui(int n){ if (n == 1) return 0; else if (n == 2) return 1; else if (n == 3) return 2; else return digui(n-1)+digui(n-2);}int main(){ int n,m; while (~scanf("%d",&n)) { while(n--) { scanf("%d",&m); printf("%d\n",digui(m)); } }}
注意一点就是递归结束的条件,分别是第一台阶,两个台阶,和三个台阶的方案数。
0 0
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 机房收费系统(一)——组合查询
- 学习FPGA的网站推荐
- Matlab基础学习------------数组和矩阵
- 《数据结构实验4》--查找
- 配置ssh公钥访问oschina
- 超级楼梯
- 使用接插件需要注意的问题
- 软考---21天复习心得
- 35 求一个矩阵中最大的二维矩阵(元素和最大)
- Single Number
- Qt--常用控件认识(一)——tablewidget
- DSP6000的上电及供电
- 36 输出比赛名次的数组result
- declare-styleable:自定义控件的属性