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);