###斐波那契数列
非递归方式
function fib(n){
let arr=[1,1]
if(n<=1){
return 1
}
for(let i=2;i<=n;i++){
arr[i]=arr[i-1]+arr[i-2]
}
return arr[n]
}
递归方式
function fib(n){
if(n<=1){
return 1
}else{
return fib(n-1)+fib(n-2)
}
}
何为N的正数序列
function sub(sum){
let num=Math.ceil(sum/2)
let result=[]
for(let i=1;i<num;i++){
for(let j=2;;j++){
let res=(i+(i+j-1))*j/2
if(res>sum){
break
}else if(res===sum){
let newArr=fillNum(i,j)
result.push(newArr)
}
}
}
return result
}
function fillNum(i,j){
let newArr=new Array(j).fill(null)
newArr=newArr.map((item,index)=>{
return i+index
})
return newArr
}