超级楼梯

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 64079    Accepted Submission(s): 32801

Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output
对于每个测试实例,请输出不同走法的数量
Sample Input
2 2 3
Sample Output
1 2
Author
lcy
Source
2005实验班短学期考试


问题链接:HDU2041 超级楼梯。

问题简述:参见上述链接。

问题分析:这是一个递推的问题。站在楼梯的第n级想一下,前一步是从哪里来的,问题就清楚了。

由于每次只能上一级或两级,那么f(n)=f(n-2)+f(n-1)。这不就是一个菲波拉契数列吗?就是一个递推问题?

可是,开始时候是站在第1级台阶上,所以数列的开始几项会有所不同。

f(1)=0,因为开始就站在第1级台阶上;

f(2)=1,只能从第1级台阶上1级;

f(3)=2,只能从第1级台阶上2级,或只能从第2级台阶上1级;

f(n)=f(n-2)+f(n-1),n>3。

得到上述递推关系后,便写了一个函数来计算f(n),程序如下:

unsigned long long fib(int n)
{if(n == 1)return 0;else if(n == 2)return 1;else if(n == 3)return 2;elsereturn fib(n-2) + fib(n-1);
}

仅仅是用这个函数来解决问题,时间上就爆了。 先打表,问题就解决了。

程序说明:(略)

AC的C语言程序如下:

/* HDU2041 超级楼梯 */#include <stdio.h>#define MAXN 40typedef unsigned long long ULL;ULL fn[MAXN+1];void setfn()
{int i;fn[1] = 0;fn[2] = 1;fn[3] = 2;for(i=4; i<=MAXN; i++)fn[i] = fn[i-2] + fn[i-1];
}int main(void)
{int n, m;// 先打表setfn();scanf("%d", &n);while(n--) {scanf("%d", &m);printf("%lld\n", fn[m]);}return 0;
}

HDU2041 超级楼梯【递推+水题】相关推荐

  1. HDU2041 超级楼梯

    问题链接:HDU2041 超级楼梯.基础训练题,用C语言编写程序. 问题简述:参见上述链接. 问题分析:这是一个递推的问题.站在楼梯的第n级想一下,前一步是从哪里来的,问题就清楚了. 由于每次只能上一 ...

  2. 爬楼梯——递推法(一维、多维、图)

    一.一维递推 有一个n层的楼梯,每次只能上一层或上两层,那么爬到n层有多少种方法? 分析:类比于递归,现层到达为下面一层和下面两层的和. 故递推关系式为F(n)=F(n-1)+F(n-2) 即代码表达 ...

  3. 计算机控制求输出递推计算题,2020计算思维复习

    只是供自己复习使用,无参考价值.本人无法对以下内容的准确性做保证,大家看看就好. 如发现错误,希望大家多多指正. 第一章: 1.什么是计算思维(书P17) PPT上的: "计算思维就是运用计 ...

  4. 递归与递推类型题小结

    文章目录 1. 递归 1.1 解题思想 1.2 例题1(指数型枚举) 题意: 思路: 递归树模型: 时间复杂度: 代码实现: 1.3 例题2(排列型枚举) 题意: 思路: 递归树模型: 时间复杂度分析 ...

  5. 整数实例hdu2041(超级楼梯)

    PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! Problem Description 有一楼梯共M级,刚开始时你在第一级, ...

  6. HDU2041超级楼梯

    列出前几个数据,你会发现结果跟菲波纳茨数列有点像 #include <iostream> using namespace std; int main() { int n,m; int a[ ...

  7. 题解:一些递推的题。

    邮票问题 位数问题 火车站 转载于:https://www.cnblogs.com/Aze-qwq/p/8641701.html

  8. 递推算法题:令人费解的开关『拉灯』

    文章目录 题目 题解 代码 题目来源 AcWing. 题目 你玩过"拉灯"游戏吗? 252525 盏灯排成一个 5×55 \times 55×5 的方形. 每一个灯都有一个开关,游 ...

  9. 递推算法题:王小二刀工之王小二切大饼

    题目描述:王小二自夸活好,刀工不错,有人给他画了个大饼,问他:"切100刀能把大饼分成多少块?",切法是让每两条线都有交点. 定义n为切的刀数 定义q(n)为n刀能分成的块数 找规 ...

最新文章

  1. ACS712模块 ACS712ELCTR-05A电流传感器模块
  2. ASP.NET MVC5+ 路由特性
  3. Java super和this
  4. oracle10数据库导入导出问题
  5. 银行加息前存的定期会随着加息吗?
  6. 人脸颜值评分软件_在线算个颜值,特科学的那种 | 知多少
  7. c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇
  8. php中return返回数组,PHP中return返回数组的一点用法
  9. 如何创建基本的高级队列之一:创建发送方代码
  10. 论文浅尝 - IJCAI | Knowledge is NOT always you need: 外部知识注入预训练模型的利与弊...
  11. [React] 尚硅谷 -- 学习笔记(一)
  12. Enterprise Library v3 初步开发计划
  13. yum安装软件出错解决方法
  14. 中兴V889D刷机变砖不用怕 V889D救砖教程发布【转载】
  15. 网线水晶头接法图解8根顺序
  16. 【中文分词】基于ICTCLAS的Python中文分词
  17. 抠图应用程序设计(一)——GrabCut算法的实现
  18. 腾讯短网址在线生成(url.cn短网址) 2020最新腾讯短网址生成api接口推荐
  19. Lora1278驱动V4.4.2讲解一:驱动移植
  20. 电脑蓝屏0x000024解决记录

热门文章

  1. Kubernetes对象之Replication Controller(RC)和Replica Sets(RS)
  2. 广东学考计算机专业要多少排位,太难了!2021年学考录取分数大暴涨!深职、广轻需要300分以上?...
  3. php中全局变量如何设置,如何在php中声明全局变量?
  4. summernote 不能上传图片_Typora自定义命令自动上传图片
  5. 三、Nginx内置变量
  6. python中文单词_python – 如何显示中文单词,而不是unicode单词
  7. Mysql中导入和导出数据库
  8. tensorflow精进之路(十八)——python3网络爬虫(中)
  9. C++设计模式之Proxy模式(代理模式)
  10. C++ 指针数组与数组指针汇总