首页 > 其他 > 详细

斐波那契数列

时间:2016-03-24 18:00:41      阅读:222      评论:0      收藏:0      [点我收藏+]

查找斐波纳契数列中第 N 个数。

所谓的斐波纳契数列是指:

  • 前2个数是 0 和 1 。
  • 第 i 个数是第 i-1 个数和第i-2 个数的和。

斐波纳契数列的前10个数字是:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...

 

1,用递归实现,lintcode提示超过时间

class Solution{
public:
    /**
     * @param n: an integer
     * @return an integer f(n)
     */
    int fibonacci(int n) {
        // write your code here
            if(n == 0)
                return 0;
            else if(n == 1)
                return 1;
            else
                return fibonacci(n-1) + fibonacci(n-2);
    }
};

 2,用函数本身相加求和

class Solution{
public:
    /**
     * @param n: an integer
     * @return an integer f(n)
     */
    int fibonacci(int n) {
        // write your code here
        int t1=0,t2=1;
        int t3=0;
        int cnt=0;
        //cnt =n;
            if(n == 0)
                return 0;
            else if(n == 1)
                return 1;
            else
            {
                for(cnt = 2;cnt<n;cnt++)
                {
                    t3 = t1+t2;
                    t1=t2;
                    t2=t3;
                }
                return t2;
            }
                
    }
};

 

斐波那契数列

原文:http://www.cnblogs.com/Qwells/p/5266899.html

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