递归练习题:走台阶(偶数版)

小明刚刚看完电影《第39级台阶》。离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!

站在台阶前,他突然又想着一个问题:

如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?

请你利用计算机的优势,帮助小明寻找答案。

package bb;
public class 走台阶 {
// 奇数步
static long 奇数步(int n) {
if (n == 0) {// 奇数步走完,非解
return 0;
}
if (n == 1) {// 奇数步剩一层,有解
return 1;
}
return 偶数步(n - 1) + 偶数步(n - 2);
}
// 偶数步
static long 偶数步(int n) {
if (n == 0) {// 偶数步走完,算一种解
return 1;
}
if (n == 1) {// 偶数步剩一层,只能走奇数一步,非解
return 0;
}
return 奇数步(n - 1) + 奇数步(n - 2);
}
public static void main(String[] args) {
System.out.println(偶数步(3));
System.out.println(偶数步(39));
}
}

最新文章

  1. Entity Framework 6 Recipes 2nd Edition 译 -> 目录 -持续更新
  2. Linux下部署ASP.NET服务连接oracle遇到的问题记录
  3. Android 中onSaveInstanceState和onRestoreInstanceState学习
  4. ShortcutMapper – 热门应用程序的可视化快捷键
  5. Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)
  6. HTML 5 Canvas
  7. Crontab使用mailx的一点发现
  8. 一个类搞定UIScrollView那些事
  9. WCF技术剖析之二十一: WCF基本的异常处理模式[上篇]
  10. swift 有些语法还是不支持。
  11. Quick Cocos2dx MVC初步
  12. Python 引用、浅拷贝、深拷贝解析
  13. VMware Workstation 12 Player之安装林耐斯-Linux Red Hat 7 -系统
  14. Windows下搭建Redis服务器
  15. K:图相关的最小生成树(MST)
  16. cesium 显示北京时间
  17. springBoot多数据源(不同类型数据库)项目
  18. 【Apache Kafka】Kafka学习笔记
  19. 腾讯云部署keepalived高可用
  20. ubuntu彻底删除apache2 再重装

热门文章

  1. 微信小程序日历签到
  2. 循序渐进VUE+Element 前端应用开发(25)--- 各种界面组件的使用(1)
  3. Linux 系统编程 学习:09-线程:线程的创建、回收与取消
  4. scrapy反反爬虫策略和settings配置解析
  5. The Product-Minded Software Engineer
  6. 【18】进大厂必须掌握的面试题-15个Kafka面试
  7. drop_cache-sar
  8. tcp 客户端 synack的接收 以及 相互connect
  9. InnoDB Insert Buffer(插入缓冲 转)
  10. 最长回文子串的Manacher算法