重生之我是一名程序员 39 ——C语言题目之青蛙跳台阶

哈喽啊大家晚上好!今天给大家带来的是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.h>int 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;
}

那么,今天的知识分享就到此结束啦,感谢大家的支持!各位明天见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/164115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMESim|学习记录

此文记录AMESim学习过程中的各种情况。 目录 01 王佳. AUV 浮力调节系统设计及控制策略研究[D]. 天津大学, 2017.01 王佳. AUV 浮力调节系统设计及控制策略研究[D]. 天津大学, 2017. 01 王佳. AUV 浮力调节系统设计及控制策略研究[D]. 天津大学, 2017. 开始步入正文 01 王佳.…

【Leetcode合集】14. 最长公共前缀

14. 最长公共前缀 14. 最长公共前缀 代码仓库地址&#xff1a; https://github.com/slience-me/Leetcode 个人博客 &#xff1a;https://slienceme.xyz 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 …

【UE】用样条线实现测距功能(下)

目录 效果 步骤 一、实现多次测距功能 二、通过控件蓝图来进行测距 在上一篇&#xff08;【UE】用样条线实现测距功能&#xff08;上&#xff09;&#xff09;文章基础上继续实现多次测距和清除功能。 效果 步骤 一、实现多次测距功能 打开蓝图“BP_Spline”&#xff0c…

cherry pick的使用

https://blog.csdn.net/weixin_55229531/article/details/128726872

SPS简单对应分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

Git如何修改提交(commit)用户名称(user.name)和邮箱(user.email)

Git用户名 Git查看用户名 git config user.name修改Git提交用户名 修改全局Git用户名 git config --global user.name "xx" 修改当前服务/项目Git用户名 git config user.name "xx"如果出现以下错误&#xff0c;解决方案如下&#xff1a; 错误案例&am…

量子计算概述

目录 1.量子计算介绍 2.量子计算应用 3.量子计算研究机构 1.量子计算介绍 量子计算是一种遵循量子力学规律调控量子信息单元进行计算的新型计算模式。经典计算使用2进制进行运算&#xff0c;但2进制只有0和1两种状态&#xff0c;而量子计算除了包含0和1两种状…

C百题--6.输出C

1.问题描述 输出“C”样式的字符 2.解决思路 1.用printf(&#xff09;逐行输出&#xff1b; 2用循环一部分一部分输出 3.代码实现 #include<stdio.h> int main(){for(int i0;i<5;i){printf("*"); }printf("\n");for(int i0;i<2;i){printf…

OpenStack云计算平台-镜像服务

目录 一、镜像服务概览 二、安装和配置 1、先决条件 2、安全并配置组件 3、完成安装 三、验证操作 一、镜像服务概览 OpenStack镜像服务是IaaS的核心服务&#xff0c;如同 :ref:get_started_conceptual_architecture所示。它接受磁盘镜像或服务器镜像API请求&#xff0c;…

Redis Stream消息队列

什么是Stream? Stream 实际上是一个具有消息发布/订阅功能的组件&#xff0c;也就常说的消息队列。其实这种类似于 broker/consumer(生产者/消费者)的数据结构很常见&#xff0c;比如 RabbitMQ 消息中间件、Celery 消息中间件&#xff0c;以及 Kafka 分布式消息系统等&#x…

字符串匹配算法——KMP

有文本串aabaabaaf&#xff0c;模式串aabaaf问文本串中是否出现过模式串 暴力解法 最不用动脑子的&#xff0c;直接两层for循环&#xff0c;逐个匹配&#xff0c;匹配到不相等的值时把文本串后移一位&#xff0c;再重新比较。这种方法的复杂度是O(mn)&#xff0c;该方法低效的…

关键字const的修饰(指针)

A.const修饰变量 变量是可以修改的&#xff0c;如果把变量的地址交给⼀个指针变量&#xff0c;通过指针变量的也可以修改这个变量。 但是如果我们希望⼀个变量加上⼀些限制&#xff0c;不能被修改&#xff0c;怎么做呢&#xff1f;这就是const的作⽤。 #include <stdio.h&…

postpresql 查询某张表的字段名和字段类型

postpresql 查询某张表的字段名和字段类型 工作中第一次接触postpresql&#xff0c;接触到这么个需求&#xff0c;只是对sql有点了解&#xff0c;于是就网上查阅资料。得知通过系统表可以查询&#xff0c;设计到几张系统表&#xff1a;pg_class、pg_attrubute、information_sc…

axios二次封装配置请求拦截器和响应拦截器

我们为什么要对axios进行二次封装&#xff1f; 因为我们可以使用请求拦截器在发送请求之前处理一些业务&#xff0c;使用响应拦截器在服务器数据返回后处理一些业务。 我们通常创建一个api文件夹&#xff0c;再创建一个request.js文件&#xff0c;用于存放重写后的axios。 /…

SiP系统级封装、SOC芯片和合封芯片主要区别!合封和sip一样吗?

SiP系统级封装、SOC芯片和合封芯片技术是三种备受关注的技术。它们在提高系统性能、稳定性和功耗效率方面都发挥着重要作用 但在集成方式、应用领域和技术特点等方面存在一些区别。本文将从多个角度对这三种技术进行深入解读。 一、集成方式 合封芯片则是一种将多个芯片或不…

Vue弹窗的使用与传值

使用element-UI中的Dialog 对话框 vue组件结合实现~~~~ 定义html <div click"MyAnalyze()">我的区划</div><el-dialog title"" :visible.sync"dialogBiomeVisible"><NationalBiome :closeValue"TypeBiome" cl…

轻松入门Axios:前端开发中的HTTP利器

轻松入门Axios&#xff1a;前端开发中的HTTP利器 前言为什么选择Axios1. **简单易用:**2. **功能丰富:**3. **广泛支持的浏览器和环境:**4. **跨域支持:**5. **社区活跃:**6. **对于处理错误的友好性:**7. **对于并发请求的支持:** 安装与引用1. 使用 npm 安装 Axios&#xff1…

基于51单片机车载空调系统设计proteus仿真+源程序)

一、系统方案 1、本设计采用这51单片机作为主控器。 2、DS18B20采集温度值送到液晶1602显示。 3、按键设置报警值。 4、温度控制风扇档位。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /T0初始化*/ void init_t0() { //TMOD0x01;//定时器…

数据库实验三 Sql多表查询和视图

数据库实验三 Sql多表查询和视图 一、Sql表二、在线练习 一、Sql表 www.db-book.com 二、在线练习 对所有表执行查询语句&#xff0c;查看有哪些数据。 select * from tableName; 一、执行以下查询语句&#xff0c;写出查询意图。 (1) select * from student,takes whe…