码迷,mamicode.com
首页 > 编程语言 > 详细

算法基础二 递推法

时间:2014-11-23 20:06:46      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   os   使用   sp   for   on   

/*递推法*/
/*斐波那契数列 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;
}

 

算法基础二 递推法

标签:style   blog   io   color   os   使用   sp   for   on   

原文地址:http://www.cnblogs.com/professorLi/p/4117259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!