奶牛生奶牛问题<递归方法和非递归>

母牛每年生1只母牛,新出生的母牛3年后也能每年生1只母牛,假设母牛不会死亡,求N年后,母牛的数量

  // 递归方法
  let data1 = new Date();
  function fib(n) {
      if (n <4) return n
      return fib(n - 1) + fib(n - 3)
  }
  let arr = []
  for (let index = 1; index < 10; index++) {
      arr.push(fib(index)) // 34
  }
  let data2 = new Date();
  console.log(arr,data2-data1);
// 非递归方法
   let data3 = new Date();
  function fib1(n) {
      if (n<5) {
          return n
      }
      let a = 1
      let b = 2
      let c = 3
      let d = 4
      for (let i = 4; i < n; i++) {
          a = b
          b = c
          c = d
          d= a + c
      }
      return d
  }
  let arr1 = []
  for (let index = 1; index < 10; index++) {
      arr1.push(fib1(index)) // 34
  }
  let data4 = new Date();
  console.log(arr1,data4-data3);

 

posted @ 2022-04-19 13:57  这个攻城狮不太冷静  阅读(26)  评论(0编辑  收藏  举报