首页 > 其他 > 详细

斐波那契数列的非递归

时间:2015-04-12 22:36:58      阅读:294      评论:0      收藏:0      [点我收藏+]
int func(int n){
    if (n ==0)
        return 0;
    if (n == 1)
        return 1;
    int p = 0;
    int q = 1;
    for (int i = 1; i < n; i++){
        int tmp = p;
        p = q;
        q = tmp + p;
    }
    return q;
}

 还有一种方法是使用一个全局数组来保存递归中已经计算过的数

int func(int n){
 int memo[n+1];
 fib(n);
}

int fib(int n){
if (n <= 1){
  return n;  
}  
if (memo[n] != 0)
return memo;
}
return memo[n] = fib(n-1) + fib(n-2);

 

斐波那契数列的非递归

原文:http://www.cnblogs.com/yxzfscg/p/4420813.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!