3、上台阶问题

2023-11-17

问题描述

有n级楼梯,有2种爬法,1次1级/2级。n级楼梯有多少种爬法?

解决思路

n=1,1种爬法
n=2,2种爬法
n=3,第一次爬1级,有2种爬法
	第一次爬2级,有1种爬法,共3种爬法
第n次爬楼梯:f(n) = f(n-1) + f(n+1)

代码实现

#include <stdio.h>
int func(int N)
{
    if( N == 1 )
            return 1;
    if( N == 2 )
            return 2;
    if( N > 2 )
            return func(N-1) + func(N-2);
}
int main(int argc, const char** argv)
{
    int Stairs = 0;
    scanf( "%d", &Stairs );
    printf( "There are %d ways to climb", func(Stairs) );
    return 0;
}

运行结果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3、上台阶问题 的相关文章

随机推荐

  • web前端三大核心技术

    web前端三大核心技术 根据 W3C 标准 一个网页主要由三部分组成 结构 表现和行为 结构 超文本标记语言 HTML Hyper Text Markup Language HTML用于描述页面的结构 html5 是一门标记型语言 主要由一
  • 列存数据仓库怎样更高效

    很多数据仓库产品都采用了列式存储 如果数据表的总列数很多而计算涉及的列很少 采用列存就只读取需要的列即可 能够减少硬盘访问量 提高性能 特别是数据量非常大时 硬盘扫描和读取的时间占比很大 这时候列存的优势会很明显 那么 是不是只要用了列存就
  • 单链表的建立(C语言):头插法和尾插法建立单链表

    采用头插法建立单链表 该方法从一个空表开始 生成新结点 并将读取到的数据存放到新结点的数据域中 然后将新结点插入到当前链表的表头 即头结点之后 如图2 4所示 图2 4 头插法建立单链表 头插法建立单链表的算法如下 LinkList Cre
  • KMP算法是怎么被设计出来的

    定义 我们假设要在主串中寻找子串出现的所有位置 我们记主串中的开始位置为匹配位置 如在 abc 中匹配 bc 则匹配位置为 2 暴力 我们把匹配过程拆解为 枚举匹配位置 验证主串从匹配位置开始是否一一匹配子串 以此 有显然的 O n m
  • layui table 列覆盖

    layui table 列个数超过10列后 表头发生覆盖现象 临时解决方法 注释掉下面代码 if left div class layui table fixed layui table fixed l div class layui ta
  • DevC++小白程序-一元二次方程

    DevC 小白程序 一元二次方程 include
  • 智能化应用爆发,银行如何打造敏捷响应的智能中枢?

    在宏观经济增速放缓和互联网金融发展的双重压力下 银行已普遍开始了数字化转型 并向智能化方向迈进 不过在智能化转型过程中 银行也普遍面临数字资产建设能力不足 数据治理和AI模型开发自动化程度低等问题 银行需要搭建起适应未来的敏捷响应的智能中枢
  • js textarea焦点事件,CodeMirror焦点事件

    1 效果图 2 功能说明 当我把光标放在 指标对象 的控件框的时候 双击 字段名称 则字段数据写入指标对象控件框 当我把光标放在 指标维度 的控件框的时候 双击 字段名称 则字段数据写入指标维度控件框 当我把光标放在 指标sql 的控件框的
  • ElementUI表格错位问题

    最近一个项目需要用到表格 为了图省事直接用的ElementUI组件 使用默认的参数在表格所在的容器大小变化时会发生错位问题 如下图所示 网上的一些方法基本都试过了 没啥作用 可能是方式不对 最后查询ElementUI文档 在el table
  • 开关稳压电源设计

    文末下载完整资料 摘要 本设计应用隔离型回扫式DC DC电源变换技术完成开关稳压电源的设计及制作 系统主要由整流滤波电路 DC DC变换电路 单片机显示与控制电路三部分组成 开关电源的集成控制由脉宽调制控制芯片UC3843及相关电路完成 利
  • linux编程第一部分总结

    C 多线程安全原则 对象析构很复杂 我们采用shared ptr和weak ptr来做 enable shared from this lt gt 是用来做回调的 因为多线程中可能对象的生命周期比传出去的this指针短 同时为了不延长对象的
  • 碎片笔记

    前言 与传统的AI攻防 后门攻击 对抗样本 投毒攻击等 不同 如今的大模型攻防涉及以下多个方面的内容 目录 一 大模型的可信问题 1 1 虚假内容生成 1 2 隐私泄露 二 大模型的安全问题 2 1 模型窃取攻击 2 2 数据窃取攻击 2
  • python-ue4-metahuman-nerf:我创造了一个数字人!!

    原文 https zhuanlan zhihu com p 561152870 目录 收起 1 准备工作 制作 MetaHuman 角色 1 1 创建 MetaHuman 角色 1 2 Quixel Bridge 下载 MetaHuman
  • android 恢复出厂设置流程分析,Android恢复出厂设置流程分析

    最近看恢复出厂的一个问题 以前也查过这方面的流程 所以这里整理一些AP framework层的流程 在setting gt 备份与重置 gt 恢复出厂设置 gt 重置手机 gt 清除全部内容 gt 手机关机 gt 开机 gt 进行恢复出厂的
  • unity 五种旋转方式localEulerAngles、eulerAngles、rotation、localRotation和Rotate的区别

    1 1 transform localEulerAngles 使用localEulerAngles进行旋转的时候 我们要使用transform localEulerAngles new Vector3 x y z 其中 new Vector
  • 矩阵 行列式的计算

    行列式要求 要计算行列式 那么这个矩阵一定是一个方阵 行列式性质 行列式转置后值不变 互换行列式中两行 值变为相反数 行列式中两行成比例 行列式为0 行列式中一行所有元素乘以一个数后加到另一行 行列式值不变 行列式的计算有很多方法 矩阵的行
  • GPT专业应用:自动撰写宣传稿

    图片由Lexica 生成 输入 Staff working on product promotion 宣传稿是指按照有关政策文件或相关精神 以宣传某种主张 某项工作 某件事情等为目的 为获得理解 支持而撰写的应用文 基本格式包含四个要素 分
  • React 初学 - 使用 If/Else 条件进行渲染以及使用 && 获得更简洁的条件- 个人笔记50

    MyComponent 的 state 中包含一个布尔值 用于跟踪是否要在 UI 中显示某个元素 按钮切换此值的状态 目前 它每次都呈现相同的 UI 用if else语句重写render 方法 如果display为true则返回当前标记 否
  • CARLA平台+Q-learning的尝试(gym-carla)

    接触强化学习大概有半年了 也了解了一些算法 一些简单的算法在gym框架也实现了 那么结合仿真平台Carla该怎么用呢 由于比较熟悉gym框架 就偷个懒先从这个开始写代码 项目地址 https github com cjy1992 gym c
  • 3、上台阶问题

    问题描述 有n级楼梯 有2种爬法 1次1级 2级 n级楼梯有多少种爬法 解决思路 n 1 1种爬法 n 2 2种爬法 n 3 第一次爬1级 有2种爬法 第一次爬2级 有1种爬法 共3种爬法 第n次爬楼梯 f n f n 1 f n 1 代码