/*面試題9
題目:寫乙個函式,輸入n,求斐波那契數列的第n項。
很多教科書中的解法:
long long fibonacci_solution1(unsigned int n)
這是從第n項向前計算的方法,很多計算量實際上是重複的。
*/long long fibonacci_solution2(unsigned int n)//這是從第2項開始向第n項計算的方法,消除了很多重複計算
; if(n<2)
return result[n];
long long fibnminusone=1;
long long fibnminuszero=0;
long long fibn = 0;
for(unsigned int i=1;i!=n;++i)//原**使用i <= n,i可以從2開始迴圈,修改為i!=n後,i=2時是不迴圈的,因此將迴圈中修改為i=1為迴圈的起始條件
return fibn;
}/*測試用例包括:邊界值測試(0,1,2),功能測試(5,7,8等),效能測試(較大的數40,100等)*/
面試題9 斐波那契數列
方法一 很容易想到的解法是直接使用遞迴。c include stdafx.h include using namespace std long long fibonacci unsigned int n if n 1 return fibonacci n 1 fibonacci n 2 int tm...
面試題9 斐波那契數列
題目一 寫乙個函式,輸入n,求斐波那契數列的第n項,斐波那契數列的定義如下 0 n 0 f n 1 n 1 f n 1 f n 2 n 1 遞迴 long long fibonacci unsigned int n if n 0 n 1 return n return fibonacci n 1 f...
面試題9 斐波那契數列
書中說遞迴法比迴圈法更慢,實測速度差不多一樣,不知道怎麼回事。很簡單,直接上 吧 coding utf 8 遞迴計算斐波那契數列 def fibonaccirecursion n if n 0 return false elif n 0 return 0 else fibonaccin fibona...