Ejemplo n.º 1
0
Archivo: fib.c Proyecto: mac0ne/LCTHW
// 递归计算斐波那契数
long fibonacci_recursion( int n )
{
    if( n <= 2 )
        return 1;

    return fibonacci_recursion(n-1) + fibonacci_recursion(n-2);
}
Ejemplo n.º 2
0
Archivo: fib.c Proyecto: mac0ne/LCTHW
int main(){
    int N = 45;

    // 递归消耗的时间
    clock_t recursion_start_time = clock();
    long result_recursion = fibonacci_recursion(N);
    clock_t recursion_end_time = clock();

    // 迭代消耗的时间
    clock_t iteration_start_time = clock();
    long result_iteration = fibonacci_iteration(N);
    clock_t iteration_end_time = clock();

    // 输出递归消耗的时间
    printf("Result of recursion: %ld \nTime: %fseconds",
        fibonacci_recursion(N),
        (double)(recursion_end_time-recursion_start_time)/CLOCKS_PER_SEC
    );
    printf("\n-----------------------\n");
    // 输出迭代消耗的时间
    printf("Result of iteration: %ld \nTime: %fseconds",
        fibonacci_iteration(N),
        (double)(iteration_end_time-iteration_start_time)/CLOCKS_PER_SEC
    );

    return 0;
}
Ejemplo n.º 3
0
//利用递归实现斐波拉契数列
int fibonacci_recursion(int n)
{
    if (n < 2) {
        return n;
    } else {
        return fibonacci_recursion(n - 1) + fibonacci_recursion(n - 2);
    }
}
Ejemplo n.º 4
0
int recursion::fibonacci_recursion(int i, int& num_rec) {
    if (i == 0) {
        return 0;
    }
    if (i == 1) {
        return 1;
    }
    return fibonacci_recursion(i - 2, ++num_rec) + fibonacci_recursion(i - 1, ++num_rec);
}
Ejemplo n.º 5
0
int Fibonacci::fibonacci_recursion(int num) {
    if(num==0 || num==1) {
        return num;
    }
    return fibonacci_recursion(num-1)+fibonacci_recursion(num-2);
}