斐波拉契数

2019-05-23  本文已影响0人  kklwg

leetcode地址:https://leetcode-cn.com/problems/fibonacci-number/

//斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,  F(1) = 1  F(N) = F(N - 1) + F(N - 2), 其中 N > 1.

//0  1  2  3  4  5  6  7

//0  1  1  2  3  5  8  13

1.第一种实现方式:

int  fib (int n)//递归

{

    if(n<=1) return n;

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

}

2.第二种实现方式

int fib2(int n)

{

    if(n<=1) return n;

    int first = 0;

    int second = 1;

    int sum = 0;

    for(int i=0;i<n-1;i++)

    {

        sum = first+second;

        first =  second;

        second = sum;

    }

    return sum;

}

3.第三种实现方式

int fib3 (int n)

{

    if(n<=1) return n;

  int  first = 0;

  int second = 1;

   for(int i=0;i<n-1;i++)

   { 

      second = first + second;

      first  =  second - first;

    }

}

int main(int argc,const char* argv[]) {

    @autoreleasepool {

        // insert code here...

        NSLog(@"%d",fib(10));

        NSLog(@"------分割线-------");

        NSLog(@"%d",fib2(10));

    }

    return 0;

}

上一篇 下一篇

猜你喜欢

热点阅读