K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
本题规定斐波那契数列规则为f(0)=0,f(1)=1,n≥2时f(n)=f(n-1)+f(n-2),忽略n过大导致的整数溢出问题。
int fib(int n) { if (n <= 1) return n; return fib(n-1) + fib(n-2); }
int fib(int n) { int memo[1000]; if (n <= 1) return n; if (memo[n] != 0) return memo[n]; return memo[n] = fib(n-1) + fib(n-2); }
int fib(int n) { if (n <= 1) return n; vector<int> dp(n+1); dp[0] = 0, dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i-1] + dp[i-2]; } return dp[n]; }
int fib(int n) { int res = 1; for (int i = 2; i <= n; i++) res *= 2; return res; }