有十个台阶,一步或两步走,上楼梯有几种上法?

2023-12-21 10:08

本文主要是介绍有十个台阶,一步或两步走,上楼梯有几种上法?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有十个台阶,一步或两步走,上楼梯有几种上法?

 

数学解法:

5个两步走:1
4个两步走,2个一步走:5C1+5C2=15
3个两步走,4个一步走:5C1+5C2×2+5C3=35
2个两步走,6个一步走:7C1+7C2=28
1个两步走,8个一步走:9C1=9
10个一步走:1
综上:2+15+35+28+9=89种

 

代码递归:

 

#include <stdio.h>int sum = 0;//方法总数,全局变量方便作为结果传出来void main()
{void f(int n);int n = 10;f(10);printf("%d\n",sum);return;
}void f(int n)//n代表还剩下没走完的台阶数
{//如果 还剩下没走完的台阶数 小于0则不成立不算在总数内,并return结束函数if (n < 0) return;//如果正好走完则算是一种方法,方法总数sum加1(其实此处追加return也可,只不过顺序下去的递归必n<0后return,所以无关紧要)if (n == 0) sum++;//继续按照1步或2步递归试下去f(n - 1);//等此函数return后顺序执行f(n - 2)。f(n - 2);
}

 

 

 

 

 

这篇关于有十个台阶,一步或两步走,上楼梯有几种上法?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/519567

相关文章

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

一步一步将PlantUML类图导出为自定义格式的XMI文件

一步一步将PlantUML类图导出为自定义格式的XMI文件 说明: 首次发表日期:2024-09-08PlantUML官网: https://plantuml.com/zh/PlantUML命令行文档: https://plantuml.com/zh/command-line#6a26f548831e6a8cPlantUML XMI文档: https://plantuml.com/zh/xmi

2024年高教社杯数学建模国赛最后一步——结果检验-事关最终奖项

2024年国赛已经来到了最后一天,有必要去给大家讲解一下,我们不需要过多的去关注模型的结果,因为模型的结果的分值设定项最多不到20分。但是如果大家真的非常关注的话,那有必要给大家讲解一下论文结果相关的问题。很多的论文,上至国赛优秀论文下至不获奖的论文并不是所有的论文都可以进行完整的复现求解,大部分数模论文都为存在一个灰色地带。         白色地带即认为所有的代码均可运行、公开

Java项目中,配置打印 JDBC 日志的几种方法

在 IDEA 项目中,如果你想打印 JDBC 日志,可以通过配置日志框架(如 Logback 或 Log4j)来实现。Spring Boot 使用的默认日志框架是 Logback,你可以通过在 application.yml 文件中配置日志级别来打印 JDBC 日志。 方法 1: 使用 application.yml 配置 JDBC 日志 logging:level:# 显示 SQL 语句co

分布式 事务的几种实现方案

背景 四月初,去面试了本市的一家之前在做办公室无人货架的公司,虽然他们现在在面临着转型,但是对于我这种想从传统企业往互联网行业走的孩子来说,还是比较有吸引力的。 在面试过程中就提到了分布式事务问题。我又一次在没有好好整理的问题上吃了亏,记录一下,还是长记性 !!! 先看面试过程 面试官先是在纸上先画了这样一张图: 让我看这张图按照上面的流程走,有没有什么问题?面试官并没有直接说出来这里面

【ReactJS】React项目构建的几种方式

前言: 构建React项目的几种方式: 构建:create-react-app 快速脚手架构建:generator-react-webpack构建:webpack一步一步构建 1)构建:create-react-app 快速脚手架 FaceBook官方发布了一个无需配置的、用于快速构建开发环境的脚手架工具create-react-app。 creat-react-app优点 无需配置:

[JAVA基础知识汇总-1] 创建线程的几种方式

文章目录 1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 线程池 可以认为有四种方式,也可以认为有一种,因为都跟Runnable接口有关 1. 继承Thread类 代码 public class Thread1ExtendsThread extends Thread {// public Thread1(String n

几种MFC对话框的隐藏方法

修改CXXAPP中的InitInstance函数,将原来的模态对话框改为非模态对话框,及修改 [cpp]  view plain copy INT_PTR nResponse = dlg.DoModal();     为 [cpp]  view plain copy dlg.Create(CModalHideDlg::IDD);