标签:
int func(int n){ if (n ==0) return 0; if (n == 1) return 1; int p = 0; int q = 1; for (int i = 1; i < n; i++){ int tmp = p; p = q; q = tmp + p; } return q; }
还有一种方法是使用一个全局数组来保存递归中已经计算过的数
int func(int n){ int memo[n+1]; fib(n); } int fib(int n){ if (n <= 1){ return n; } if (memo[n] != 0) return memo; } return memo[n] = fib(n-1) + fib(n-2);
标签:
原文地址:http://www.cnblogs.com/yxzfscg/p/4420813.html