练习题——【学习补档】走台阶问题

news2024/11/24 8:40:10

问题描述:

走n阶台阶,每次可以选择走一阶或者走两阶,那么一共有多少种走法?输入包含一个整数n (1 ≤ n ≤ 30)输出一个整数,即小乐乐可以走的方法数。

分析:

这是一个数学问题,本质是要求列举所有的结果个数,求结果个数递归。我们把整个步数拆解为大量小问题。
首先,我们根据题目可以得出,大数字拆解到最后,各个小数字会在0、1、2三个结果里面出现,每个小数字分别对应0、1、2三种走法;我们不妨倒过来想,我们输入的数字本身就是由0、1、2三个数字组成的,以此我们可以设立3个返回值,把所有的情况的值返回去,最后集中相加即可得到所有的可能数量。

在这里插入图片描述

代码如下:

#include <stdio.h>
//求多少种走法,是数学问题,用
//思路:知道阶数后我们可以使用循环的方法穷举所有的方法种类
//解决方案:递归
int foot(int n)
{
    if (n == 2)
        return 2;
    if (n == 1)
        return 1;
    if (n == 0)
        return 0;
    return (foot(n - 1) + foot(n - 2));
}
int main()
{
    int foot(int i);

    int n = 0;
    scanf("%d", &n);
    printf("%d", foot(n));
    return 0;
}

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

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

相关文章

zookeeper:启动后占用8080端口问题解决

ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务。它为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域名服务、分布式同步、组服务等。 我们经常在运行zookeeper服务时&#xff0c;不需要配置服务端口&#xff0c;…

做题总结 142. 环形链表 II

142. 环形链表 II 我的思路代码优化 力扣142题 我的思路 遍历链表&#xff0c;每遍历一个节点都1&#xff0c;第一个变为2的索引就是环的入口。二维数组&#xff08;节点索引&#xff0c;计数&#xff09;。可以用hashmap实现。 遇到的问题&#xff1a;HashMap<ListNode,I…

速度与稳定性的完美结合:深入横测ToDesk、TeamViewer和AnyDesk

文章目录 前言什么是远程办公&#xff1f;远程办公的优势 远程办公软件横测对象远程软件的注册&安装ToDeskTeamViewerAnyDesk 各场景下的实操体验1.办公文件传输及丢包率2.玩游戏操作延迟、稳定3.追剧画质流畅度、稳定4.临时技术支持SOS模式 收费情况与设备连接数总结 前言…

「Vue3面试系列」Vue3.0的设计目标是什么?做了哪些优化?

文章目录 一、设计目标更小更快更友好 三、优化方案源码源码管理TypeScript 性能语法 API逻辑组织逻辑复用 参考文献 一、设计目标 不以解决实际业务痛点的更新都是耍流氓&#xff0c;下面我们来列举一下Vue3之前我们或许会面临的问题 随着功能的增长&#xff0c;复杂组件的代…

01-从JDK源码级别彻底剖析JVM类加载机制

文章目录 类加载运行全过程类加载器和双亲委派机制类加载器初始化过程双亲委派机制为什么要设计双亲委派机制&#xff1f;全盘负责委托机制自定义类加载器 打破双亲委派机制Tomcat打破双亲委派机制Tomcat自定义加载器详解模拟实现Tomcat的JasperLoader热加载 补充&#xff1a;H…

UE5 C++(七)— UObject、UGameInstance实例化

文章目录 UObject实例化创建一个MyObject类在Default Pawn Class 中实现MyObject中参数调用 UGameInstance实例化创建GameInstance UObject实例化 创建一个MyObject类 在Default Pawn Class 中实现 注意&#xff1a;要实现运行时调用可在这里提前配置&#xff0c;具体参考之前…

Redis-网络模型

参考资料 &#xff1a;极客时间 Redis&#xff08;亚风&#xff09; 前置知识 系统隔离 为了避免⽤户应⽤导致冲突甚⾄内核崩溃&#xff0c;⽤户应⽤与内核是分离的&#xff1a; 进程的寻址空间会划分为两部分&#xff1a;内核空间、⽤户空间 • ⽤户空间只能执⾏受限的命令&…

sql服务无法启动 请键入net helpmsg 3534

然后 如果是管理员权限打开命令行输入操作的话 先清空 MySQL 下的 data 文件夹&#xff0c;然后确保系统环境变量中已经配置了 mysql 的 bin 目录到Path中&#xff0c;然后执行 sc delete mysql 得到 [SC] DeleteService 成功 后&#xff08;也可能不会有返回信息&#xff…

SpringBoot项目jar包加密防止反编译

业务场景 由于公司业务需要&#xff0c;需要把jar包部署到其它公司的服务器&#xff0c;又不想泄露源码。 解决方法 1、代码混淆 采用proguard-maven-plugin插件 在单模块中此方案还算简单&#xff0c;但是现在项目一般都是多模块&#xff0c;一个模块依赖多个公共模块。那…

flask搞个简单登录界面

登录界面 直接放上login.html模板&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Lo…

Airoha AB157x EVB 介绍

0 Preface/Foreword 常用词汇&#xff1a; baseband and radio for intentive stereo, mono, or TWS &#xff08;AiroStereo&#xff09; audio application. baseband:基带 TWS&#xff1a;AiroStereo Audio Transparency&#xff1a;AiroThru EVK: Evaluation Kit A…

中国90米分辨率可蚀性因子K数据

数据时间&#xff1a;2023年 数据空间位置&#xff1a;全国 数据空间分辨率&#xff1a;90m 数据坐标系&#xff1a;WGS1984 数据格式&#xff1a;tiff 数据来源&#xff1a;地球资源数据云平台(www.gis5g.com)&#xff0c;如需要请自行联系 数据简介&#xff1a;土壤可蚀…

JVM-10-类加载

Java虚拟机把描述类的数据从Class文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这个过程被称作虚拟机的类加载机制。 一个类型从被加载到虚拟机内存中开始&#xff0c;到卸载出内存为止&#…

强大的电子书阅读器:OmniReader Pro for mac

&#x1f50d; OmniReader Pro 是一款专为 Mac 设计的强大阅读工具&#xff0c;它能够帮助你更高效地阅读和处理各种文本内容。无论是电子书、新闻文章、网页文本还是文件资料&#xff0c;OmniReader Pro 都能胜任&#xff01; ✅ OmniReader Pro 提供了丰富的功能&#xff0c…

劲松中西医结合医院hpv诊疗中心建议:提高免疫力做好5件事

谭巍主任在近期的一次访谈中明确指出&#xff0c;免疫力是HPV最好的医生。他强调&#xff0c;提高免疫力是预防和治疗HPV的关键。通过科学的饮食和营养搭配&#xff0c;我们可以增强免疫力&#xff0c;有效抵抗病毒的侵袭。 首先&#xff0c;我们要明白什么是免疫力。免疫力是…

大创项目推荐 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 &#x1f525; 优质…

1.3 什么是接口?什么是接口测试?

上一小节我们认识了C/S和B/S架构,那在B/S架构中,我们测试最常接触的,就是接口。本课程的重点是接口自动化测试,那同学们真的了解什么是接口吗?首先,我们从通俗的角度来看什么是接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发…

Mac managing Multiple Python Versions With pyenv 【 mac pyenv 管理多个python 版本 】

文章目录 1. 简介2. 安装2.1 brew 安装 pyenv2.2 脚本安装 3. pyenv 安装 Python4. 卸载 python5. 管理 python 1. 简介 Pyenv 是一个用于管理和切换多个 Python 版本的工具。它允许开发人员在同一台计算机上同时安装和使用多个不同的 Python 版本&#xff0c;而无需对系统进行…

基于SSM的婚恋网站的设计与实现论文

基于SSM的婚恋网站的设计与实现 摘要 随着信息互联网购物的飞速发展&#xff0c;一般企业都去创建属于自己的管理系统。本文介绍了基于SSM的婚恋网站的设计与实现的开发全过程。通过分析企业对于基于SSM的婚恋网站的设计与实现的需求&#xff0c;创建了一个计算机管理基于SSM…

力扣刷题记录(15)LeetCode:509、70、746

目录 509.斐波那契数 70.爬楼梯 746.使用最小花费爬楼梯 总结 ​​​​​​ 用一个数组来存储前两个数的值&#xff0c;然后根据前两个数的值来确定当前的值。 class Solution { public:int fib(int n) {if(n<2) return n;vector<int> v;v.push_back(0);v.push…