斐波那契數列的遞迴和非遞迴演算法

2021-06-21 15:06:36 字數 546 閱讀 1210

// 2014-04-20

// 斐波那契數列

// 演算法速度 fbi4 > fbi3 > fbi2 > fbi1

#include #include #include #include // 開始計時

void start_timer(struct timeval& tv)

// 流逝的時間(微秒)

long long get_time_elapse(struct timeval& tv)

// 最常見的遞迴演算法

int fbi1(int n)

// 非遞迴演算法

// 用乙個緩衝區來儲存每乙個計算結果

int fbi2(int n)

int i = 0;

int v = 0;

int *buffer = (int *)malloc(sizeof(int) * n);

buffer[0] = 1;

buffer[1] = 1;

for (i=2; i>= 1;

++n;

for (int i=2; i

實現斐波那契數列演算法 遞迴和非遞迴

斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368.這個數列從第3項開始,每一項都等於前兩項之和。package com.bug1 pub...

斐波那契數列 遞迴與非遞迴

首先來說下遞迴,遞迴的思想是大事化小。斐波那契數列 1,1,2,3,5,8,13,21.設f n 是第n個斐波那契數,當n 2,斐波那契數都為1 當n 2,那麼第f n 個斐波那契數就等於前兩個斐波那契數之和。遞迴的 實現 includeint fbnq int n int main 輸入10,得到...

數學 斐波那契數列 遞迴 非遞迴

include pch.h include using std cout using std cin typedef long long ll int fib int n ll fib notrec int n int main return 0 題目給的f 0 1,就這麼寫了 斐波那契第n項 時間...