[c++]动态分配空间(Fibonacci数列)

来源:互联网 发布:琴行软件 编辑:程序博客网 时间:2024/05/18 14:28

用动态分配空间的方法计算Fibonacci数列的前20项并存储到动态分配的空间中

F1 = 1(n = 1)

F2 = 1 (n = 2)

F3 = Fn - 1 + Fn - 2(n > = 3)

方法1(函数)

#include<iostream>using namespace std;int fun(int p){    if (p == 1)    {        return 1;    }    else if(p == 2)    {        return 1;    }    else    {        return (fun(p-1) + fun(p-2));//递归    }    }int main(){    int *p;    //int *q;    p = new int[20];    for(int i = 1;i <= 20;i++)    {        *p = fun(i);        cout<<*p<<endl;    }    delete []p;    return 0;}


方法2(数组)

#include<iostream>using namespace std;int main(){    int f[20] = {1,1};    int i;    int *p;    p = new int[20];    for (i = 2;i < 20;i++)    {        f[i] = f[i-2] + f[i-1];    }            for (i = 0;i < 20;i++)    {        *p = f[i];        cout<<*p<<endl;        if(i % 5 == 0)            cout<<endl;    }       delete []p;    return 0;}


0 0
原创粉丝点击