Tribonacci Sequence

2018-11-22  本文已影响0人  Re_Vive

Question

输入泰波那契的前三位和数列的长度并输出
比如:

tribonacci([1,1,1],10) //[1,1,1,3,5,9,17,31,57,105]
tribonacci([0,1,1],10) //[0,1,1,2,4,7,13,24,44,81]
tribonacci([1,1,1],1) //[1]

Answer

一、直接设定
function tribonacci(signature,n){
   for(let i=3;i<n;i++){
      let l = signature.length
      signature[i] = signature[l-1] + signature[l-2] + signature[l-3]
   }
   return signature.splice(0,n)
}
二、push操作
function tribonacci(signature,n){  
  for (var i = 0; i < n-3; i++) { 
    signature.push(signature[i] + signature[i+1] + signature[i+2])
  }
  return signature.slice(0, n);
}

泰波那契只是斐波那契的拓展,此方法也可以适用于斐波那契

上一篇 下一篇

猜你喜欢

热点阅读