一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法
看到别人的讲解递归中的举的例子。说小青蛙每次跳有两种跳法:
第一种跳法:第一次跳了一个台阶,那么还剩下n-1个台阶还没跳,so 剩下的n-1个台阶的跳法有f(n-1)种
第二种跳法:第一次跳了两个台阶,那么还剩下n-2个台阶还没跳,so 剩下的n-2个台阶的跳法有f(n-2)种
所以,小青蛙的全部跳法就是这两种跳法之和了,即f(n)=f(n-1)+f(n-2)。等价关系就这样求出来了。
刚开始接触算法,看到这我就蒙蔽了,为什么是两种跳法之和呢?这是为什么,我脑子里的那根弦始终没搭对,为什么啊?
而且说这个题和斐波那契数列是一样的,虽然知道这个数列的特点,但我就是没有联想到这俩有什么关系?
网上搜了一下,看到有人说:“对于第n个台阶来说,只能从n-1或n-2的台阶跳上来”;其实,到这里,我还很疑惑。
我又搜了一圈,看了n个博主的文章,我突然间好像就懂了,以上那些说法是什么意思
比如:有6级台阶
那么,对于第6级台阶来说,有可能是从第4级台阶跳上来的,也有可能是从第5级台阶跳上来的,除此之外,没有其他方法了,所以,要相加,f(6)=f(6-1)+f(6-2)。
大胆一些,如果题目,变成小青蛙一次可以跳一个台阶,也可以跳三个台阶。那么我也大胆猜测,f(6)=f(6-1)+f(6-3)
public static int sumCount(int n){if(n<=2){return n;}return f(n-1)+f(n-2);
}
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法相关推荐
- [递归]一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
这题是用C写的~ 在牛客上半天找不着ACM模式,练习模式里只有核心代码模式 这样用C语言编译器就不能自定义函数啊,不鸡肋吗??? 解决方法:在核心代码模式下用C++编译器(反正C++完全兼容C的不是吗 ...
- 【python逻辑算法题】一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法
文章目录 一.题目描述 二.问题分析 三.代码分析与逻辑(python3实现) 四.源码及运行结果 总结 提示:以下是本篇文章正文内容: 一.题目描述 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2 ...
- c语言青蛙游戏,c语言:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?...
一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法? 解:把n级台阶时的跳法记为f(n),当n>2时,第一次跳的时候有两种不同的选择:一是第一次只跳1级,此 ...
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?(递归与动态规划)
一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法? private static HashMap<Integer, Long> record = n ...
- 牛客网刷题java之(斐波那契数列)一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 对于本题,前提只有 一次 1阶或者2阶的跳法. a.如果两种跳法, ...
- 牛客网刷题java之变态跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 分析: 其实和普通的只能跳一个和两个台阶的思路是一样的,都是为了求迭代表达式. ...
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
import java.util.Scanner;/* 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法.请用递归和循环2中方法实现答案来源:https://w ...
- 一只青蛙一次可以跳上1级台阶也可以跳上2级求该青蛙跳上一个n级的台阶总共有多少种跳法?
一只青蛙一次可以跳上1级台阶也可以跳上2级求该青蛙跳上一个n级的台阶总共有多少种跳法? 解题思路 :每次跳1到n,那么如果是n阶台阶,一次就可能跳1~n阶(话说n=1000,青蛙腿肯定绑火箭了),乍一 ...
- (java)跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
文章目录 题目描述 思路 解法一:递归暴力破解 解法二: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 思路 解法一 ...
- 变态跳台阶问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?
编程题 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法? 分析 对于n级台阶,第一步的跳法有n种:跳1级.跳2级.跳3级-跳n级 跳1级, ...
最新文章
- tensorflow object detection API 使用记录2
- xshell中mysql命令大全_Linux之Xshell脚本代码实例
- 营销型网站优化攻略分享
- 回炉重造-基础规则之类和对象
- SparkSql常用命令操作
- BZOJ1823:[JSOI2010]满汉全席——题解
- 入门干货之Electron的.NET实现-Electron.NET
- 生存分析简介:Kaplan-Meier估计器
- Perl 第一章概述
- scrapy初始化selenium,防止网站反爬虫策略监测自动化控件
- SOA,RMI,RPC,SOAP,REST等名称的理解
- JAVA设计模式Design Pattern→单例模式Singleton Pattern、工厂模式Factory Pattern、代理模式Proxy Pattern
- SpringMVC Hello World
- 福禄克OTDR测试为什么要加补偿光纤?
- 嵌入式linux指纹识别项目,基于嵌入式应用平台的指纹识别系统设计
- 中心极限与大数定理律的关系_21厦大数学考研 | 数列与函数极限复习建议!
- linux 光纤网卡 软路由,联想M720Q、光网卡、Pon stick、Openwrt我的完美软路由折腾记...
- luoguP4578_ [FJOI2018]所罗门王的宝藏
- 生信自学笔记(五)计分矩阵的实例
- 三菱PLC控制步进驱动器脉冲定位相关(附代码接线图)
热门文章
- 思科路由器IOS备份和恢复
- Silicon单片机芯片解密
- 南京艺术学院计算机作曲,南京艺术学院932主科(上机操作计算机作曲应用)考研复习经验...
- 广告投放策略及数据分析
- jmeter的${__time(,)}和${__timeShift(,,,,)}函数使用
- 太阳能光伏发电和路灯应用系统的详细计算
- 2021-2027全球与中国3D产品可视化平台市场现状及未来发展趋势
- GNS3路由器设备间ping不通的排查方法
- Navicat Premium连接服务器数据库不成功的原因
- ESP8266深度睡眠计时器唤醒