废话不多说直接上题

问题:小白正在上楼梯,楼梯有n阶台阶,小白一次一次可以上1阶,2阶或3阶,实现一个方法,计算小白有多少种走完楼梯的方式。

1)第一种方式:寻找重复

因为一次可以上1阶,2阶或3阶,要计算到达n阶的方式,为到达n-1,n-2,n-3阶的方式之和,也就是

f(n)=f(n-1)+f(n-2)+f(n-3)

代码:function f(x){

if(x==0) return 1

if(x==1) return 1

if(x==2) return 2

return f(x-1)+f(x-2)+f(x-3)

}

2)第二种方法:dfs暴力

如果起点是0,终点是N那么每走一步都有三种可能,如果走到第N层时跳出循环

代码如下:var N=9

var count=0

function f(x){

if(x==N) count++

else if(x>N) return

else {

f(x+1)

f(x+2)

f(x+3)

}

}

f(0)

alert(count)

下面开始正文:

这是蓝桥杯的一道题题目标题: 第39级台阶

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

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

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

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

要求提交的是一个整数。

注意:不要提交解答过程,或其它的辅助说明文字。

好,既然都懂那我就不说了,直接上代码:var count=0;

function f(x,t){

if(x==39&&t%2==0) count++

else if(x>39) return

else {

f(x+1,t+1)

f(x+2,t+1)

}

}

f(0,0)

alert(count)

优化版本:fun.prototype.funinit=function(y1, y2){

if (y1 == this.x && y2 % 2 == 0) this.count++

else if (y1 > this.x) return

else {

this.funinit(y1 + 1, y2 + 1)

this.funinit(y1 + 2, y2 + 1)

}

}

function fun(x) {

this.count = 0

this.x = x

this.funinit(0,0)

console.log(this.count)

}

new fun(39);

写完手工

----------------------------------------------啥都不会的Zzh

蓝桥杯 java 楼梯,递归1之楼梯问题相关推荐

  1. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  2. 2018年 第09届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  3. 2018年 第9届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  4. 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  5. 2015年 第6届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  6. 2014年 第5届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  7. 2017年 第8届 蓝桥杯 Java B组 省赛真题详解及总结

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  8. 蓝桥杯——Java中的全排列算法

    蓝桥杯--Java中的全排列 全排列的概念 排列 从n个数中选取m(m<=n)个数按照一定的顺序进行排成一个列,叫作从n个元素中取m个元素的一个排列.不同的顺序是一个不同的排列.从n个元素中取m ...

  9. 蓝桥杯Java大学C组近三年真题解析(三)——暴力、模拟题

    目录 第十届 求和 题目 题解 代码 矩形切割 题目 题解一 代码 代码 代码 题解二 代码 不同子串 题目 题解 代码 质数 题目 题解 代码 最大降雨量 题目 题解 代码 旋转 题目 题解 代码 ...

  10. 2017蓝桥杯java B组纸牌三角形

    2017蓝桥杯java B组纸牌三角形 1.标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等. 下图就是一种排法 A 9 6 4 8 ...

最新文章

  1. [zz] 深入java虚拟机之本地方法
  2. mysql添加定时器
  3. 矩形内接任意多边形抠图(可以羽化边缘)
  4. JavaFX FileChooser文件选择器,缓存上一次打开的目录
  5. 设计模式--组合模式
  6. 不创建 sequence 自增字段
  7. 【软件测试】白盒测试の基路径法
  8. 飞鸽传书2012绿色版
  9. 2014大学计算机考试,2014大学计算机基础考试围参考答案.doc
  10. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU
  11. 运维工程师最容易出的状况,咋就找不到问题根因呢?
  12. Rotate List leetcode
  13. 海尔微型计算机hdp-9108,9108能安装内置声卡?
  14. 设计模式-访问者模式-java-中文版
  15. 由于这台计算机没有远程桌面客户端
  16. 数据、源代码防泄密解决方案
  17. Qt获取图片色值(提供源码)
  18. zju网页的自动登录和认证
  19. Word中跨页表格都显示表头
  20. UVa1218完美的服务

热门文章

  1. Spring Cloud实战(二)-Spring Cloud Eureka
  2. win10user文件夹迁移_win10用户文件夹迁移操作方法_win10怎么移动用户文件夹位置-win7之家...
  3. 怎么在电脑桌面添加待办便签小助手
  4. 微信小程序chooseMedia应用
  5. 读计算机视觉综述做的脑图(11.09更新)
  6. 心理学-墨菲定律 个人笔记
  7. pdf怎么提取图片?职场达人都在用的两个方法分享给你。
  8. Mac电脑彻底卸载office(Excel,Word)
  9. 网页.php文件怎么运行,php文件怎么打开运行,浏览器访问php文件
  10. 用计算机三角函数公式,三角函数公式习题.doc