青蛙跳台阶问题(递归练习)

2023-09-25 6 0

文章目录

    • 1.题目
    • 2.思考分析
    • 3.C语言实现代码

1.题目

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法?

示意图

在这里插入图片描述

2.思考分析

 青蛙从地面开始跳,具体如下:

如果只有1级台阶,那显然只有一种跳法。

 *如果有2级台阶,那么就有2种跳法,一种是分2次跳,每次跳1级,另一种就是一次跳2级。

跳n级台阶的跳法:

从第一级台阶再开始跳,F(n1)=F(n-1)*1

从第二级台阶再开始跳,F(n2)=F(n-2)*2

 但是注意,F(2)中1 1的跳法与F(1)中 1的跳法重复

 所以计算时,F(n2)=F(n-2)*1

 F(n)=F(n1)+F(n2)=F(n-1)+F(n-2)

得到递推关系式 F(n)=F(n-1)+F(n-2)

3.C语言实现代码

//青蛙跳台阶问题#include <stdio.h>int Fun(int n)
{if (n == 1)return 1;else if (n == 2)return 2;else if (n>2)return  Fun(n - 1) + Fun(n - 2);}int main()
{int n = 0;scanf("%d", &n);int ret=Fun(n);printf("%d\n", ret);return 0;
}

谢谢欣赏!!

代码编程
赞赏

相关文章

不伤原图电脑在线去水印网站
在线视频转换器工具
图片如何在线无痕去除水印
图片带满屏水印怎么去除?
超详细Hyperledger Fabric2.3.3开发教程
入门卷积神经网络必备,基础、理论、实战一网打尽!