首页 > 代码库 > 斐波那契数列
斐波那契数列
1 /* 2 斐波那契的递归实现和记忆化思想 3 在动态规划中,常常会涉及斐波那契数列 4 下面介绍斐波那契的循环打表,递归的实现、打表 5 借鉴自《挑战程序设计竞赛》 6 */ 7 #include<iostream> 8 using namespace std; 9 const int maxn = 40; 10 int f[maxn+5]; 11 /* 12 void fib(int n)//循环打表 13 { 14 f[1] = f[2] = 1; 15 for(int i=3; i<=n; ++i) 16 f[i] = f[i-1] + f[i-2]; 17 } 18 int fib(int n)//递归实现 19 { 20 if(n <= 1) return n;// f[1] = 1;f[2] = 1; 21 return fib(n-1) + fib(n-2); 22 }*/ 23 int fib(int n)//通过数组f记录已经算过的fib 24 { 25 if(n <= 1) return n; 26 if(f[n] != 0) return f[n]; 27 return f[n] = fib(n-1) + fib(n-2); 28 } 29 int main() 30 { 31 for(int i=1; i<=maxn; ++i) 32 cout << fib(i) << " "; 33 cout << endl; 34 }
斐波那契数列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。