当前位置: 首页 > news >正文

C语言 青蛙跳台阶问题

目录

​编辑

1.问题描述

2.问题分析

3.全部代码

4.结语


1.问题描述

一只青蛙可以一次跳一级台阶,也可以一次跳两级台阶,如果青蛙要跳上n级台阶有多少种跳法?

2.问题分析

当台阶只有一级时,只能跳一级,所以只有一种跳法

当台阶有两级时,可以先跳一级,再跳一级,或者直接跳两级

所以有两种跳法

当台阶有三级时,可以这么来思考,

假如先跳一级,剩下的就是二级台阶的情况,

如果先跳两级,那么剩下的一级,剩下的就是一级台阶的情况,

则三级台阶的跳法等于前两级台阶之和,

假如是五级台阶,可以先拆为四级和三级,再把四级和三级往下拆解即可

所以前两次台阶数量等于跳法

当台阶数量大于二时,可以看成斐波拉契数列来计算:n = (n-1) + (n-2)

3.全部代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int frog(int n)
{if (n <= 2)return n;//当台阶级数小于等于2时的跳法elsereturn frog(n - 1) + frog(n - 2);//当台阶级数大于2时的跳法
}int main()
{int n = 0;scanf("%d", &n);//可以随机输入台阶的级数int m = frog(n);//创建一个frog函数printf("%d\n", m);
}

4.结语

今天的经验分享就到这里,有喜欢的朋友可以点赞➕评论➕收藏➕关注,如果有不懂的地方可以咨询博主,谢谢大家支持博主!

http://www.lryc.cn/news/326369.html

相关文章:

  • 【Django开发】前后端分离美多商城项目第3篇:用户部分,1. 后端接口设计:【附代码文档】
  • DHCP snooping、DHCP安全及威胁防范
  • 用eclipse创建Web项目,通过Servlet实现Web访问的功能。
  • tools.jar下载 Unable to create schema compiler
  • 【0278】checkpointer 共享内存(CheckpointerShmem)初始化(3)
  • 算法打卡day29|贪心算法篇03|Leetcode 1005.K次取反后最大化的数组和、134. 加油站、135. 分发糖果
  • 【hexo博客6】自定义域名 购买、配置、更新部署
  • Django使用pyJwt进行token校验
  • ❤️算法笔记❤️-(每日一刷-26、删除有序数组的重复项)
  • 银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载
  • Mybatis-核心配置文件 / Mybatis增删改查
  • Nginx(面试)
  • net::ERR_SSL_PROTOCOL_ERROR
  • BaseDao封装增删改查(超详解)
  • 【Python操作基础】——元组
  • 光伏投融资该如何计算?
  • 【更新中】Leetcode中遇到的最短路径算法
  • Git学习笔记之基础
  • STCubeIDE 编译bootloader
  • Python学习:函数
  • docker run 使用 -p 命令一直显示端口被占用
  • Rust 实战练习 - 1. 输入,输出,环境变量,字符,字符串
  • RuoYi-Vue-Plus(登录流程)
  • 【数学】 【分数】 【字符串】972. 相等的有理数
  • 【4】DongshanPI-Seven 应用开发_文件IO
  • SEO 的未来:GPT 和 AI 如何改变关键词研究
  • 面试八股文之JAVA基础
  • 网络连接中——长连接和短连接详解
  • PEReDi 完全隐私的央行数字货币方案
  • yolov5+pyside6+登录+用户管理目标检测可视化源码