【基础训练】HDOJ2041超级楼梯
来源:互联网 发布:江西淘宝大学 编辑:程序博客网 时间:2024/05/21 09:18
这是一个水题,但是却花费了我一些功夫来研究,所以将其记录下来。刚开始看到题目的时候,我脑袋是晕的,当我试着将前几级楼梯的不同走法计算了一下,发现这不是斐波拉契数列嘛,把自己包装的这么严实。一想到斐波拉契数列就想到了递归,因此我就写了个递归,提交之后,结果超时。递归需要一层层的将结果计算出来,因此有可能同一结果要计算很多遍这样就会很浪费时间。因此,我就想用一个数组将计算结果保存起来,如果数组里面已经保存了其值,则直接用于计算,就免除了重新计算消耗的时间了。
#include <stdio.h>int a[45] = {0};int f(int n){ if(a[n-1] && a[n-2]) return a[n-1]+a[n-2]; else { if(n == 2) { a[2] = 1; return a[2]; } if(n == 3) { a[3] = 2; return a[3]; } a[n] = f(n-1)+f(n-2); return a[n]; }}int main(){ int n,M,i,cou; scanf("%d",&M); for(i = 0;i <M;i++) { cou = 0; scanf("%d",&n); cou = f(n); printf("%d\n",cou); } return 0;}
0 0
- 【基础训练】HDOJ2041超级楼梯
- hdoj2041 超级楼梯
- HDOJ2041 超级楼梯 (递归与分治)
- HDOJ2041 超级楼梯(dp & 打表)
- HDOJ2041-超级楼梯(斐波拉契数列的应用)
- hdoj2041(走楼梯 实为Fibonacci数列
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 超级楼梯
- 欢迎使用CSDN-markdown编辑器
- [kuangbin带你飞]专题四 最短路练习 F POJ 3259
- gnuradio-companion入门指南
- http1和http2
- leetcode之7. Reverse Integer(要能存储大数,判断溢出)
- 【基础训练】HDOJ2041超级楼梯
- The request sent by the client was syntactically incorrect ()
- POJ 3281 Dining(用当前弧优化的Dinic算法)
- tcp的拥塞控制
- Jquery And JavaScript
- <mvc:resources> 标签解释
- mybatis动态SQL
- Android:学习AIDL,这一篇文章就够了(上)
- 【web】js图片压缩并上传——图片压缩-demo01