Posts Tags Categories About
10-斐波那契数列

问题介绍(一)

求斐波那契(Fibonacci)数量的第n项.

问题解答(一)

long long fibonacci(int index) {
    if (index < 0) throw runtime_error("invalid parameter with negative index");

    if (index == 0) return 0;
    if (index == 1) return 1;

    long long pre = 0, tail = 1, res = 1;
    for (int i = 1; i < index; i++) {
        res  = pre + tail;
        pre  = tail;
        tail = res;
    }

    return res;
}

斐波那契第n项可以用O(n2)O(n^2)的递归, O(n)O(n)的循环, O(logn)O(\log n)的矩阵公式(不实用)求解, 求解时可以使用long long.