经典例题-FIbonacci 斐波那契数

斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
这个数列从第三项开始,每一项都等于前两项之和。
Fn=Fn-1+Fn-2(n>=2,n∈N*)

求解

unsigned long Fib(int n)
{
    if (n <= 1) {
        return n;
    } else {
        return Fib(n - 1) + Fib(n - 2);
    }
}
unsigned long Fib(int n)
{
    int a0 = 1, a1 = 2, i;
    unsigned long sum = 0;
    for(i = 1; i < n; i++) {
        sum = a0 + a1;
        a0 = a1;
        a1 = sum;
    }
}

时间复杂度O(n^2)

经典例题

HDU

/**
 * Author:MangoDai
 *
 * Date:${Date}
 *
 * Description:
 *
**/
 
#include 
using namespace std;
int main(){
    int i;
    while (cin >> i) {
        int j = (i - 2) % 4;
        if (0 == j) {
            cout << "yes" << endl; 
        } else {
            cout << "no" << endl;
        }
    }
    return 0;
}

HDU1250


你可能感兴趣的:(经典例题-FIbonacci 斐波那契数)