您的位置:首页 > Web前端 > JavaScript

js斐波那契数列求和

2015-06-23 21:06 806 查看
一、递归算法

 function recurFib(n) {

  if (n < 2) {

    return n;

  }

  else {

    return recurFib(n-1) + recurFib(n-2);

  }

 }

  alert(recurFib(10));//将显示55







二、动态规划法

  function dynFib(n) {

    var val = [];

    for (var i = 0; i <= n; ++i) {

     val[i] = 0;

    }

    if (n == 1 || n == 2) {

      return 1;

    }

    else {

      val[1] = 1;

      val[2] = 2;

      for (var i = 3; i <= n; ++i) {

        val[i] = val[i-1] + val[i-2];

      }

      return val[n-1];

    }

  }

  alert(dynFib(10));//将显示55



三、迭代法



 function iterFib(n){

  var last=1;

  var nextlast=1;

  var result=1;

  for(var i=2;i<n;++i){

    result=last+nextlast;

    nextlast=last;

    last=result;

  }

  return result;

 }

 alert(iterFib(10));//将显示55

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: