作者****:
斐波納契數列
(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]view plain
copy
print?
"font-size:16px;"
>#include
#include
#include
#include
#include
using
namespace
std;
/** fibonacci的遞迴函式解法
* 優點:**簡單,易於理解
* 缺點:fib引數引數比較大時,運算量很大
*/unsigned long
long
fib_recursive( unsigned
intfib )
/** fibonacci的陣列解法
* 優點:**比較簡單,也比較容易理解
* 缺點:fib多大就new多大的記憶體
*/unsigned long
long
fib_array( unsigned
intfib )
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
intfib )
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
intfib )
return
resultqueue.back();
} else
if( 2 == fib )
return
2;
else
if( 1 == fib )
return
1;
return
1;
} /*
* 迭代實現
*/unsigned long
long
fib_iteration( unsigned
intfib )
return
a3;
} else
if( 2 == fib )
return
2;
else
if( 1 == fib )
return
1;
return
1;
} /*
* 公式實現
* 缺點:有誤差
*/unsigned long
long
fib_formula( unsigned
intfib )
return
1;
} int
main(
intargc,
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 inc...