菲波那切數列(劍指offer)---c語言

MID丶wan發表於2020-10-16

劍指 Offer 10- I. 斐波那契數列
寫一個函式,輸入 n ,求斐波那契(Fibonacci)數列的第 n 項。斐波那契數列的定義如下:

F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

示例 1:

輸入:n = 2
輸出:1
示例 2:

輸入:n = 5
輸出:5

提示:

0 <= n <= 100

int fib(int n)
{
    if(n == 0)
    {
        return 0;
    }
    int f0 = 0;
    int f1 = 1;
    int f2 = 0;
    f2 = f0 + f1;
    for(int i = 0; i < n-1; ++i)
    {
        f2 = (f0 + f1)%1000000007;
        f0 = f1;
        f1 = f2;
    }
    return f1;
}

相關文章