首页 > 代码库 > 算法基础二 递推法

算法基础二 递推法

/*递推法*//*斐波那契数列 1 1 2 3 5 8 13..... f(n)?*//*递推法的特点是由前向后推算,因此注意起始条件,并在推算过程中保存结果供下一步推算使用~*/#include<iostream>using namespace std;int f1(int n){    if (n < 3)return 1;    else    {        int t1 = 1; int t2 = 1;        for (int i = 2; i < n; i++)        {            int temp = t1 + t2;            t2 = t1;            t1 = temp;        }        return t1;    }}//提供递归算法对比,相较而言递归法更简单,我们下次详细讨论~int febonacci(int n){    if (n < 3)return 1;    else return febonacci(n - 2) + febonacci(n - 1);}int main(){    int n;    cout << "请输入f(n)序列n" << endl;    cin >> n;    cout << "递推法:f(" << n << ")=" << f1(n)<<endl;    cout << "递归法:f(" << n << ")=" << febonacci(n) << endl;}

 

算法基础二 递推法