web前端面试--递归(斐波那契数列)

web面试题

本人是一个web前端开发工程师,主要是vue框架,整理了一些面试题,今后也会一直更新,有好题目的同学欢迎评论区分享 ;-)

web面试题专栏:点击此处


文章目录

  • web面试题
    • 定义
    • 源码
    • 测试示例

之前去笔试,记得有一条道题,是用于考递归,当初题目直接写着:请手写一段斐波那契数列代码

当初就懵逼了,隐约记得大学好像学过这个,但是忘记是什么了…

定义

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。


简单来说就是通过n,比如10,输出下方数组:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

源码

function fibonacci(n) {
  if (n <= 1) {
    return n;
  } else {
    return fibonacci(n - 1) + fibonacci(n - 2);
  }
}

测试示例

var n = 10; // n 需要>=2 !!!
var result = [];
for (var i = 0; i <= n; i++) {
  result.push(fibonacci(i));
}

console.log(result);

你可能感兴趣的:(前端面试题,WEB前端面试题,递归,斐波那契数列)