028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

斐波那契列数列的递归与迭代

谈到斐波那契数列

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、诸城网络推广、小程序开发、诸城网络营销、诸城企业策划、诸城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供诸城建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

为了解决大数问题同时提高时间上的效率我们采用迭代的方法(实际上通过循环来实现)。
下面为其代码描述:

#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 
int main()
{
    int number;
    int first, second, third;
    scanf("%d", &number);
    first = 1;
    second = 1;
    if (number < 3)
        third = 1;
    while (number >= 3)
    {
        third = first + second;
        first = second;
        second = third;
        number--;
    }
    printf("%d\n", third);
    system("pause");
    return 0;
}

在Linux操作系统下可看出两者计算同一个f(n)迭代所需要的时间比递归所需要的时间要少的多多多。。而且所求的数多大都可以,因为没有限制,只是进行加法和赋值运算,也没有需要很多的空间。
通过该例子,可发现迭代的实现往往比递归实现效率高,但并不是递归就没有自身的优点。
递归相当于其他方法,他的可读性很高,另外当一个问题很复杂时,使用迭代或其他方法会很难实现(例如Hanoi问题,青蛙跳台阶问题)此时用递归思想可以将问题简洁明了的解决,这样就补偿了他所带来的运行时开销。


网站标题:斐波那契列数列的递归与迭代
分享路径:http://www.tsicrk.com/article/ipijds.html

其他资讯

让你的专属顾问为你服务

3.5831s