程式實現的: 1 1 2 3 5 8 13 21 34 55……… 這麼乙個數列的功能(數列索引index = [1,2……n])
方法一: 利用函式遞迴實現fibonacci數列
#include
#include
#define n 10
static int print_fibonacci( int
index );
int main(void)
return0;}
static int print_fibonacci( int
index )
結果如圖:
方法一: 利用迴圈實現fibonacci數列
#include
#include
#define n 10
int main(void)
; int i = 1;
fibonacci[0]=1;
fibonacci[1]=1;
printf("index: ");
while ( i <= n )
printf("%d\t", i++ );
for( i = 2; i <= n; i++ )
fibonacci[ i ] = fibonacci[ i - 1 ]+fibonacci[ i - 2 ];
printf("\n");
printf("value: ");
for( i = 0; i < n; i++ )
printf( "%d\t", fibonacci[ i ] );
return
0;}
結果如圖:
Fibonacci的遞迴實現與迴圈實現的區分
大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 遞迴呼叫實現fibonacci數列採用的自頂向下的演算法模式,利用 f n f n 1 f n 2 每次遞迴呼叫上一次的兩個fibonacci 函式。遞迴演算法對前n 2次所得數列中的資料不...
非遞迴實現fibonacci數列
下面用兩個方法實現fibonacci數列,乙個是遞迴的,乙個是非遞迴的,由於遞迴需要不斷的開闢新的棧,並釋放開闢的棧,因而更耗時,但是在理解上卻容易些。include iostream include time.h using namespace std intrecursive method in...
Fibonacci數列的遞迴與非遞迴實現
fibonacci 斐波那契 數列定義 1 遞迴實現 思想簡單,無需贅述,實現如下 遞迴方法複雜度o 2 n 計算到n 41已達到計算機的極限 int f int n int fibonacci1 int len 該方法存在很多重複計算,雖然是典型的遞迴,但效率很低,資源消耗大。經分析,改演算法時間...