作者****:
斐波納契數列
(fibonacci sequence),又稱
**分割
數列,指的是這樣乙個數列:
1、1、2、3、5、8、13、21、... ...
在數學上,斐波納契數列以如下被以遞迴的方法定義:f(0)=1, f(1)=1, f(n)=f(n-1)+f(n-2)(n>=2,n∈n*).
#include #include #include #include #include using namespace std;
/** fibonacci的遞迴函式解法
* 優點:**簡單,易於理解
* 缺點:fib引數引數比較大時,運算量很大
*/unsigned long long fib_recursive( unsigned int fib )
/** fibonacci的陣列解法
* 優點:**比較簡單,也比較容易理解
* 缺點:fib多大就new多大的記憶體
*/unsigned long long fib_array( unsigned int fib )
result = parray[loop-1];
delete parray;
} else if ( 2 == fib ) return 2;
else if ( 1 == fib ) return 1;
return result;}/*
* vector實現
*/unsigned long long fib_vector( unsigned int fib )
return resultvec[i-1];
} else if ( 2 == fib ) return 2;
else if ( 1 == fib ) return 1;
return 1;}/*
* queue實現
*/unsigned long long fib_queue( unsigned int fib )
return resultqueue.back();
} else if ( 2 == fib ) return 2;
else if ( 1 == fib ) return 1;
return 1;}/*
* 迭代實現
*/unsigned long long fib_iteration( unsigned int fib )
return 1;
}int main(int argc, char **argv)
#ifdef _win32
system("pause");
#endif
return 0;
}
vs2012執行結果:
Fibonacci數列C語言
fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入包含乙個整數n。輸出一行,包含乙個整數,表示fn除以10007的餘數。在本題中,答案是要求fn除以10007的餘數,因此我們只要能算出這個...
C語言求Fibonacci數列
方法一 普通法 include include unsigned long fibonacci unsigned n 列印fibonacci intmain void printf athank you for you using.return exit success unsigned long ...
fibonacci數列C 語言多種實現
作者 vision chen yeah.net 斐波納契數列 fibonacci sequence 又稱 分割 數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 1,f 1 1,f n f n 1 f n 2 n 2,n n cpp...