您的位置:首页 > 编程语言 > C语言/C++

斐波那契数列(c++数组实现,递归实现与优化)

2017-02-15 10:28 651 查看
用数组问题求斐波拉契数列:
#include <iostream>#include<stdlib.h>using namespace std;int main(int argc, char** argv) {int i;int f[20]={1,1};//其余18个元素自动赋值为0for(i=2;i<20;i++){f[i]=f[i-2]+f[i-1];}for(i=0;i<20;i++){cout<<f[i]<<" ";}}
递归实现:
#include <iostream>#include<stdlib.h>using namespace std;int f(int n){if(n<3){return 1;}return f(n-1)+f(n-2);}int main(int argc, char** argv) {int n;cin>>n;cout<<f(n);return 0;}
程序优化:#include <iostream>#include<stdlib.h>using namespace std;int a[5000];int f(int n){if(n<3){return 1;}if(a>0){return a;}a=f(n-1)+f(n-2);return a;}int main(int argc, char** argv) {int n;cin>>n;cout<<f(n);}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: