教学网站开发应指导方案,泊头网站制作,前端工程师主要做什么工作,最好的网站建设系统小兔子爬楼梯
介绍
小兔子想去月球上旅行#xff0c;假设小兔子拥有一个阶梯子#xff0c;当你爬完层就可以到达月球#xff0c;小兔子每次可以跳1或者2个台阶#xff0c;小兔子有多少种跳法可以到达月球呢#xff1f; 给定n是一个正整数#xff0c;代表梯子的阶数假设小兔子拥有一个阶梯子当你爬完层就可以到达月球小兔子每次可以跳1或者2个台阶小兔子有多少种跳法可以到达月球呢 给定n是一个正整数代表梯子的阶数当n2时小兔子有2种跳法到达月球当3时小兔子有3种跳法跳到月球以此类推解释如下图所示 提示
这里为同学提供一种解题思路。 递归 可以使用递归来实现具体思路如下 . 当阶梯数为0时只有0种方法当阶梯数为1时只有1种方法当阶梯数为2时只有2种方法所以当阶梯数小于等于2时可以直接返回值。 ·如果阶梯数大于2就递归。 解题思路不只这一种同学们可以自由发挥。 准备
开始答题前需要先打开本题的项目代码文件夹目录结构如下 其中 ·js/index.js是实现函数的is代码文件。 ·index.html是显示结果的页面。 在浏览器中预览index.html页面效果如下 目标
请完善js/index.js文件中的代码让页面呈现如下所示的效果 代码
html
!DOCTYPE html
html langenheadmeta charsetUTF-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0 /titleDocument/title/headbodydivp idresult1/pp idresult2/pp idresult3/p/divscript src./js/index.js/scriptscriptlet r1 document.getElementById(result1);let r2 document.getElementById(result2);let r3 document.getElementById(result3);r1.innerHTML 2 阶梯子兔子有 ${climbStairs(2)} 种跳法到达月球。;r2.innerHTML 3 阶梯子兔子有 ${climbStairs(3)} 种跳法到达月球。;r3.innerHTML 4 阶梯子兔子有 ${climbStairs(4)} 种跳法到达月球。;/script/body
/html
js
const climbStairs (n) {// TODO请补充代码/*** 思路分析可得第n阶梯子的跳法等于第n-1和第n-2阶梯子的跳法之和*/
};
module.exports climbStairs;答案
const climbStairs (n) {// TODO请补充代码/*** 思路分析可得第n阶梯子的跳法等于第n-1和第n-2阶梯子的跳法之和*///法一递归思想if (n 2) {return n} else {return climbStairs(n - 1) climbStairs(n - 2)}//法二第1阶梯子有一种跳法 第2阶梯子有2种跳法用ab往后移代表第n-1和第n-2阶梯子的跳法// if (n 2) {// return n// }// let a 1// let b 2// let c// while (n 2) {// c a b//后移ab// a b// b c// n--// }// return c//法三利用解构赋值整体思想与法二一样// if (n 2) {// return n// }// let a 1// let b 2// while (n 2) {// // 解构赋值// [b, a] [a b, b]// n--// }// return b};
module.exports climbStairs;容易看出这几个数和斐波拉契数列相关用递归是最简单后面的两种方法也是一个意思。
知识点
容易看出这几个数和斐波拉契数列相关用递归是最简单后面的两种方法也是一个意思。
知识点
题还是比较简单也是常见的数列考的是递归的运用。