算法思想:

(1)只有一层楼梯,有1种方法,即 f(1) = 1;

(2)有两层楼梯,有2种方法,即 f(2) = 2;

(3)有三层楼梯,a、如果第一步爬一层,后面还有两层楼梯未爬,有2种方法,即f(2);b、如果第一步爬两层,后面还有一层未爬,有一种方法,即f(1);因此,总共有3种方法,即f(3) = f(2) + f(1) = 3;

(4)有四层楼梯,a、如果第一层爬一层,后面还有三层未爬,总共有3种方法,即f(3);b、如果第一层爬两层,后面还有两层未爬,总共有2种方法,即f(2);因此,总共有5种方法,即f(4) = f(3) + f(2) = 5;

....(以此类推)

(n)有n层楼梯,a、如果第一层爬一层,后面还有(n-1)层未爬,总共有f(n-1)种方法;b、如果第一层爬两层,后面还有(n-2)层未爬,总共有f(n-2)种方法;因此,总共有 f(n-1) + f(n-2) 种方法,即f(n) = f(n-1) + f(n-2) ;

import java.util.Scanner;
/** 一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?*/
public class Test2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();System.out.println(Step(n));sc.close();}//采用递归的方法public static int Step(int n) {if(n <= 0) {return 0;}if(n == 1) {return 1;}if(n==2) {return 2;}else {return Step(n-1) + Step(n-2);}}
}

Java学习手册:(数据结构与算法-递归)一个人爬楼梯,可以一次爬一阶或者两阶,问n层楼梯有多少种爬法?相关推荐

  1. Java 数据结构和算法 - 递归

    Java 数据结构和算法 - 递归 什么是递归 背景:数学归纳法证明 基本递归 printing numbers in any base 它为什么有效 如何工作 递归太多是危险的 树 数值应用 模幂运 ...

  2. 一般项目中哪里体现了数据结构_优秀程序员都应该学习的数据结构与算法项目(GitHub 开源清单)...

    前言 算法为王. 想学好前端,先练好内功,内功不行,就算招式练的再花哨,终究成不了高手:只有内功深厚者,前端之路才会走得更远. 强烈推荐 GitHub 上值得前端学习的数据结构与算法项目,包含 gif ...

  3. GitHub 上值得前端学习的数据结构与算法项目

    Hello,大家好,我是你们的 前端章鱼猫. 简介 前端章鱼猫从 2016 年加入 GitHub,到现在的 2020 年,快整整 5 个年头了. 相信很多人都没有逛 GitHub 的习惯,因此总会有开 ...

  4. 汇智动力学院——Java 浅谈数据结构和算法

    以前不管自己还是朋友在面试java工程师岗位的时候,都会被问到这样的问题: "介绍下java中的数据结构和算法", 很多朋友被问到的时候发现无从下口,甚至特别是一些初级java工程 ...

  5. 学习JavaScript数据结构与算法(一):栈与队列

    本系列的第一篇文章: 学习JavaScript数据结构与算法(一),栈与队列 第二篇文章:学习JavaScript数据结构与算法(二):链表 第三篇文章:学习JavaScript数据结构与算法(三): ...

  6. es6 数组排序_重读《学习JS数据结构与算法-第三版》- 第3章 数组 二

    定场诗 守法朝朝忧闷,强梁夜夜欢歌:损人利己骑马骡,正值公平挨饿:修桥补路瞎眼,杀人放火儿多:我到西天问我佛,佛说:我也没辙! 前言 读<学习JavaScript数据结构与算法>- 第3章 ...

  7. 《学习JavaScript数据结构与算法》第三章 数组

    文章目录 前言 一.创建 && 初始化数组 二.操作数组 push-添加元素于末尾 unshift-添加元素于开头 pop-从数组末尾开始删除元素 shift-从数组开头开始删除元素 ...

  8. 读《学习JavaScript数据结构与算法》 第二章

    第二章 ECMAScript和TypeScript概述 文章目录 第二章 ECMAScript和TypeScript概述 前言 一.let const 二.模板字面量 支持换行 拼接方式 三.函数的默 ...

  9. 重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)

    定场诗 伤情最是晚凉天,憔悴厮人不堪言: 邀酒摧肠三杯醉.寻香惊梦五更寒. 钗头凤斜卿有泪,荼蘼花了我无缘: 小楼寂寞新雨月.也难如钩也难圆. 前言 本章为重读<学习JavaScript数据结构 ...

最新文章

  1. Android 扫描二维码demo
  2. 摄像机域内监督行人重识别问题
  3. 颠覆智能手机的下一代设备已出现?
  4. 你用Deepfakes给小电影换个脸,人脸识别AI也看不出来:95%萌混过关
  5. non linear processor
  6. 【Python实例第7讲】真实数据集的异常检测
  7. pandas.DataFrame对行和列求和及添加新行和列
  8. Java爬虫Jsoup篇
  9. 6种最好的图片无损压缩工具
  10. 移动计算的未来:是什么在推动变革? | 幂集创新
  11. 如何使用dd工具进行磁盘读写性能测试
  12. 历年奥斯卡获奖影片(1927—2015)
  13. 在OpenCV里车牌识别的方法1
  14. 在蚂蚁金服工作是一种什么体验
  15. QuartusII9.0--项目文件的新建
  16. 如何用Android Stuido 调用百度翻译的API
  17. doom3 entitydef实体定义
  18. 用计算机连接路由器,怎样连接路由器和电脑_电脑怎么链接路由器-系统城
  19. unity汤姆猫自动检测录音,不说话自动播放
  20. pip或pip3安装报错Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming。。。

热门文章

  1. 100以内能被7和3整除的数的和
  2. 什么情况下运放才能用虚短和虚断的概念1、在开环电路中,输入两端的电压差非常小,不会让运放饱和2、在闭环的深度反馈电路中。
  3. 指定未知的错误:0x80240037
  4. 针对数能同传SWIPT的个人理解与总结Part1
  5. 微擎的人人商城是如何对接微信支付的?
  6. 【阿里云】阿里云日志查询语法
  7. springboot+Quartz整合!!!简单实用
  8. 正版sql服务器,SQL Server2014企业版 授权许可 正版sql数据库
  9. JAVA 数据类型强制转换详解
  10. 直接从硬盘安装 win10 系统