题目描述

一个猴子在一座不超过30级的小山上爬山跳跃,猴子上山一步可跳1级或跳3级,试求上山有多少种不同的爬法。

样例输入

30

样例输出

58425

解题思路:

  1. 首先探求f[k]递推关系
    设n=30,上山最后一步到达第30级台阶,完成上山,共有f[30]种不同的爬法;到第30级之前位于哪一级呢?第一种是位于第29级(上跳1级即到),有f[29]种;第二种于第27级(上跳3级即到),有f[27]种;于是有:
    f[30]=f[29]+f[27]
    依此类推,一般地有递推关系:
    f[k]=f[k-1]+f[k-3] (k>3)
  2. 确定初始条件
    f[1]=1;即1=1
    f[2]=1;即2=1+1
    f[3]=2;即3=1+1+1;3=3
  3. 实施递推
    根据以上递推关系与初始条件,设置一重循环应用递推即可求出f[n]。

代码部分

#include<stdio.h>
long fun(int n)
{long key;if(n==1)key=1;else if(n==2)key=1;else if(n==3)key=2;elsekey=fun(n-1)+fun(n-3);return key;
}
int main()
{int m;long result;scanf("%d",&m);result=fun(m);printf("%ld",result);return 0;
}

这道题关键是在于理解题目中的递推关系,根据递推关系和初始条件进行求解。

猴子爬山—递推算法(图文详解)相关推荐

  1. C语言经典递推算法之杨辉三角展开(详解)

    文章目录 一.递推算法 二.杨辉三角展开 一.递推算法 这是一种比较简单的算法,即通过已知条件,利用特定关系得到中间结论,然后得到最后结果的算法.递推算法可以分为顺推和逆推两种. 二.杨辉三角展开 1 ...

  2. 图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)

    图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS) 阅读本文前,请确保你已经掌握了递归.栈和队列的基本知识,如想掌握搜索的代码实现,请确保你能够用代码实现栈和队列的基本操作. 深度优先遍 ...

  3. 微课|中学生可以这样学Python(8.3节):递推算法例题讲解

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第8章  常用算法的Python实现 8.3  递推算法案例分析 京东购买链接:https://i ...

  4. 少年派的计算机游戏怎么弄,少年派的无聊之旅攻略大全图文详解

    少年派的无聊之旅攻略大全图文详解游戏狗小编小易为同学们整理好了,这款游戏的整体难度很简单,主要还是为了让同学们无聊的时候休闲用的,小编在这里为大家整理了这篇攻略,希望可以帮到有需要的同学.下面就让小编 ...

  5. 【图文详解】一文全面彻底搞懂HBase、LevelDB、RocksDB等NoSQL背后的存储原理:LSM-tree日志结构合并树...

    LSM 树广泛用于数据存储,例如 RocksDB.Apache AsterixDB.Bigtable.HBase.LevelDB.Apache Accumulo.SQLite4.Tarantool.W ...

  6. python灰色波浪线,PyCharm关闭碍眼的波浪线图文详解

    下面我先给出了一小段代码示例,思考一下,为什么name,my_name 不会有波浪线,而 myname 和 wangbm 会有波浪线呢? Pycharm 本身会实时地对变量名进行检查,如果变量名不是一 ...

  7. 面渣逆袭:Redis连环五十二问,图文详解,这下面试稳了

    大家好,我是老三,面渣逆袭系列继续,这节我们来搞定Redis--不会有人假期玩去了吧?不会吧? 基础 1.说说什么是Redis? Redis是一种基于键值对(key-value)的NoSQL数据库. ...

  8. ebay注册流程_2017年eBay注册开店流程图文详解

    原标题:2017年eBay注册开店流程图文详解 今天跟大家分享最新的eBay注册开店流程,希望对卖家小伙伴们有所帮助.我们先简单了解一下eBay注册条件. 企业注册eBay需满足以下条件: 合法登记的 ...

  9. 递推算法-五种典型的递推关系

    递推算法 递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法.这种算法特点是:一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系 ...

最新文章

  1. 命令行收集(DOS/Linux/nc/xscan/xsniffer)
  2. impala的substr从第几位截到最后一位_【题解循环嵌套】书的最后一页(粉丝求助)...
  3. R语言绘制线图(line)实战
  4. 幼儿园python_[Python]猜数字游戏AI版的实现(幼儿园智商AI)
  5. linux cpu占用100原因查询,如何根据查询异常时间节点和连接进而确定CPU使用率100%的原因...
  6. iOS逆向之深入解析MachO文件
  7. 左神算法:复制含有随机指针节点的链表 / 复杂链表的复制(Java版本)
  8. spring mvc学习(36):jstl的jar包的下载
  9. [转]VisualStudio如何组织解决方案的目录结构
  10. 埋点测试-移动端/PC端
  11. Orleans 初接触(一) 入门例子
  12. (译)cocos2d精灵教程:第三部分
  13. 仿小米商城html网页源码
  14. 一阶滤波算法公式推导
  15. 东哥带你们认清五险一金︿( ̄︶ ̄)︿
  16. 在线读书——孙天泽(嵌入式设计及Linux驱动开发指南——基于ARM9处理器)
  17. python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化
  18. 什么是沟通能力?如何提升沟通能力?
  19. ESP32解析ble蓝牙手柄信号,直接通讯,用于控制机器人小车机械臂等
  20. 【蓝桥杯】 次数差:x 星球有 26 只球队,分别用 a ~ z 的 26 个字母代表。他们总是不停地比赛。 在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。 国王...

热门文章

  1. SAP RFC介绍:关于sRFC,aRFC,tRFC,qRFC和bgRFC
  2. 使用级联有序调度窗口生成无序调度
  3. jQuery 阿拉伯数字转繁体中文
  4. AnyChart交互式数据可视化领域的全球领导者
  5. 年初立的flag 华为智慧城市生态来“交卷”了
  6. 请描写一段芭蕾女孩痛苦极限劈叉的故事
  7. 编译原理: 做一个LL(1)语法分析器
  8. springboot写接口
  9. html 萤火虫特效,html5+CSS3杯子里萤火虫发光动画特效
  10. C#WinForm实现串口通讯