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 =>转换成矩阵的形式

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