网站多久才能在百度上收到,淘宝服务商平台,网站建设的文字用什么字体较好,网站+做+app哈喽啊大家晚上好#xff01;今天给大家带来的是C语言经典题目之青蛙跳台阶。青蛙跳台阶是一个数学问题#xff0c;也是一个经典的递归问题。假设一只青蛙要跳上一个n级台阶#xff0c;它可以每次跳1级台阶或2级台阶。问#xff1a;青蛙跳上这个n级台阶总共有多少种不同的跳…哈喽啊大家晚上好今天给大家带来的是C语言经典题目之青蛙跳台阶。青蛙跳台阶是一个数学问题也是一个经典的递归问题。假设一只青蛙要跳上一个n级台阶它可以每次跳1级台阶或2级台阶。问青蛙跳上这个n级台阶总共有多少种不同的跳法
要想解决这个问题我们首先要对问题进行分析。首先设青蛙跳上n级台阶时有f(n)种跳法那么在青蛙进行最后一步跳跃时它肯定只能跳一级台阶或者两级台阶。那么我们就可以分两种情况经行分析
1.当青蛙最后一跃为一级台阶时除去最后一级台阶前面的n-1级台阶就会有f(n-1)种跳法
2.当青蛙最后一跃为二级台阶时除去最后的二级台阶前面的n-2级台阶就会有f(n-2)种跳法 那么逻辑已经理清楚了现在我们就用代码去实现它。首先我们需要设置一个递归函数用来运算青蛙跳台阶的所有方法比如
int jump_step(int n)
{if(n 2) {return n;}else {return jump_step(n-1) jump_step(n-2);}
}最后我们在mian函数中调用这个递归函数即可解决青蛙跳台阶的问题了
代码如下
#include stdio.hint jump_step(int n) {if ( n 2) {return 1;} else {return jump_step(n-1) jump_step(n-2);}
}int main() {int n;printf(请输入一个正整数);scanf(%d, n);printf(%d级台阶青蛙有%d种跳法\n, n, jump_step(n));return 0;
}
那么今天的知识分享就到此结束啦感谢大家的支持各位明天见