JS算法-斐波那契数列
```js
let febonacci = []
febonacci.push(...[1,1,2])
for(let i = 0;i<50;i++){
if(i>=3){
febonacci[i] = febonacci[i-1]+febonacci[i-2]
console.log(febonacci[i])
}else{
console.log(febonacci[i])
}
}
```
斐波那契数列第十五位是febonacci[14]或者将循环中的i改为i<16,输出的最后一位即可
### 楼梯走法
求解一个n阶的楼梯每次上1步或者2步的情况下有多少种爬法
//可以用递归,但是效率及其低下,此处只用迭代算法
function climbStair(n){
let step = []
step.push(...[1,2])
for(let i = 2;i<n;i++){
if(i>=2){
step[i] = step[i-1]+step[i-2]
}else{
return step[n-1]
}
}
return step[n-1]
}
//或
function climbStair1(n) {
let a = []
if(n == 1) return 1;
if(n == 2) return 2;
a[0] = 0;a[1] = 1;a[2] = 2;
for(let i = 3;i <= n; i++){
a[i] = a[i-1] + a[i-2];
}
return a[n];
}