青蛙跳台阶问题是指:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 2.问题分析 假设跳上一个n-1级的台阶有x种跳法,跳上一个n-2级的台阶有y种跳法,那么跳上一个n级的台阶总共有x+y种跳法,因为可能性只有两种: 先完成跳到第n-1级台阶这件事,再跳上1...
1.当台阶只有1级时 此时青蛙只有一种跳法,那就是跳1级 2.当台阶有2级时 不难看出,青蛙有两种跳法,一是跳1级再跳1级,二是一下跳2级。 3.当台阶有n级时 当台阶有n级时,题目好像一下子就复杂起来了,青蛙该怎么跳啊,其实不然,我们换个方向思考。 假如青蛙已经跳到了最上面,也就是第n级台阶,那青蛙...
首先,当N=1时,那么青蛙就有一种跳法。 当N=2时,青蛙可以跳两次一层台阶也可以跳一次二层台阶,有两种跳法 当N=3时,当青蛙首先跳一次一层台阶时,那么还需要跳两层台阶,那它此时就是N=2时的跳法,即有两种跳法。 当青蛙跳一次二层台阶时,此时只需要再跳一层台阶,那么它此时就是N=1时的跳法,即有一种...
C语言使用递归解决青蛙跳台阶问题 /* //青蛙跳台阶问题---一只青蛙一次可以跳一级台阶 也可以跳两级 如果青蛙跳上n级台阶 有几种跳法 // n级台阶 跳法 // 1 1 // 2 2 // 3 3 // 4 5 // 5 8 int Qingwa(int n) { if(n<=2) return n; else return Qingwa(n-1)+Qingwa(n-2); }...
问题如下:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 我们用x记作跳法的个数,用数字1 2表示跳1级和跳2级台阶 当n比较小时,情况比较简单,我们直接分析,来看看有没有什么规律 当n=1时,有 1, 一种跳法 x=1 ...
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。 image-20220504153233353 🍅画图分析 和上篇文章讲到的汉诺塔问题一样,我们还是由简到繁,从最简单的情况开始考虑: 只有一级台阶的情况: 只有一级台阶的时候,显然只有一种跳法。
若把条件修改成一次可以跳一级,也可以跳2级…也可以跳上n级呢? 解题思路 尽管条件改成每次跳的台阶级数不受限,但是换汤不换药,思考的方法是一样的。 1.当n=1或n=2时,青蛙跳台阶跳法次数和没修改条件时是一样的,n=1有一种跳法,n=2有两种跳法。
c语言函数递归与迭代详解(含青蛙跳台阶问题详解) 前言 1.递归是什么? 递归是学习C语言函数绕不开的一个话题,那什么是递归呢? 递归其实是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。 这里有一个极其简单的递归代码: 代码语言:javascript
问题分析 当青蛙即将跳上n级台阶时,共有两种可能性,一种是从n-1级台阶跳一步到n级,另外一种是从n-2级台阶跳两步到n级,所以求到n级台阶的所有可能性f(n)就转变为了求到n-2级台阶的所有可能性f(n-2)和到n-1级台阶的所有可能性f(n-1)之和,以此类推至最后f(2)=f(0)+f(1)=1+1。递推公式就...
问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法? 分析 如果只有一个台阶,那显然只有一种跳法 俩阶的话,有俩种 三阶的话就是1+2种 依次类推,我们发现当次的跳法,是前俩次的和 这不就是斐波那契数列吗,上面问题的解就是斐波那契数列第n个位置的值 ...