[编程之美_2.9]斐波那契数列

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int Fibonacci(int n)
{
   if (1 == n)
   {
       return 1;
   }
   if (2 == n)
   {
       return 2;
   }
   return Fibonacci(n-1) + Fibonacci(n-2);
}

int FibonacciIteration (int n)
{
   int a = 1;
   int b = 2;
   if (n == 1)
       return a;
   if (n == 2)
       return b;
   for (int i = 3; i <= n; i++)   
   {
       int now = a + b;
       a = b;
       b = now;
   }
   return b;
}

书中提到了一种方法: fi = fi-1 + fi-2 =>转换成矩阵的形式

001T9MtKzy6LzUnFulL25&690

[编程之美_2.9]斐波那契数列
时间复杂度为:O(log2n)。