- 递归法
/** * 0 1 1 2 3 5 8 13 ... * 递归法 */ public static int fib(int n) { if(n <= 1) return n; // 第n项 = 第n-1项 + 第n-2项 return fib(n - 1) + fib( n -2); }
存在性能问题
- 迭代法
/** * 0 1 1 2 3 5 8 13 ... * 迭代法 */ public static int fib(int n) { if(n <=1) { return n; } int a = 0, b = 1; int c = a + b; for (int i = 2; i < n; i++) { a = b; b = c; c = a + b; } return c; }
08-05
08-05