您当前的位置: 首页 >  Java

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JavaScript之斐波那契数列的几种实现方法、兔子数列、黄金分割数列、递归、for、解构

发布时间:2022-01-17 20:19:55 ,浏览量:0

目录
  • 递归基础
  • 纯递归实现斐波那契数列
  • 递归+includes实现斐波那契数列
  • 循环+解构实现斐波那契数列
  • alert
  • Number
  • includes
  • 相关链接
递归基础

代码

function fun(n) { // 退出条件 if(n === 1) return 1; return n * fun(n - 1); } console.log(fun(3)); // 6 

实现思路

return 3 * fun(2); return 3 * (2 * fun(1)); return 3 * (2 * 1); 6 最后的return需等待fn递归结束才执行 递归函数必须添加退出条件

纯递归实现斐波那契数列
function fibonacciSequenceRecursion(n) { n = Number(n); if (!n) return alert('请正确输入值'); if (n == 1 || n == 2) return 1; return fibonacciSequenceRecursion(n - 2) + fibonacciSequenceRecursion(n - 1); } console.log(fibonacciSequenceRecursion(7)); // 13 
递归+includes实现斐波那契数列
function fibonacci(n) { n = Number(n); // 退出条件 if([1, 2].includes(n)) return 1; return fibonacci(n - 1) + fibonacci(n - 2); } console.log(fibonacci(6)); // 8 
循环+解构实现斐波那契数列
function fibonacciSequenceFor(n) { n = Number(n); if (!n) return alert('请正确输入值'); if (n <= 2) return 1; let a = 1, b = 1; for (let i = 2; i < n; i++) [a, b] = [b, a + b]; return b; } console.log(fibonacciSequenceFor(8)); // 21 
alert

MDN

window.alert()令浏览器显示一个带有可选的信息的对话框,并等待用户离开该对话框。 在某些情况下(例如,当用户切换标签时)浏览器可能不会实际显示一个对话框,或者不等待用户离开对话框。

w3school

如果要确保信息传递给用户,通常会使用警告框。 当警告框弹出时,用户将需要单击“确定”来继续。

Number

MDN

Number值表示像37或-9.25这样的浮点数值。 Number构造函数包含常量和处理数值的方法。其他类型的值可以使用Number函数转换为数值。

w3school

Number函数将对象参数转换为表示对象值的数字。 如果该值无法转换为合法数字,则返回NaN。 如果参数是Date对象,则Number函数返回自UTC 1970年1月1日午夜以来的毫秒数。

includes

MDN

includes方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。

w3school

includes方法确定数组是否包含指定的元素。 如果数组包含元素,则此方法返回true,否则返回false。 includes方法区分大小写。

相关链接

1、来自CSDN的JavaScript写斐波那契数列的几种方式 2、来自博客园的JS写斐波那契数列的几种方法

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3504s