首页 > 其他 > 详细

【0002】斐波那契数列

时间:2020-07-18 11:18:09      阅读:45      评论:0      收藏:0      [点我收藏+]

/*
    斐波那契数列:f(n)=f(n-1)+f(n-2);其中f(1)=f(2)=1;
*/

技术分享图片
#include <stdio.h>
#include <stdlib.h>


/*
    斐波那契数列:f(n)=f(n-1)+f(n-2);其中f(1)=f(2)=1;
*/
int Fibonacci(int n)
{
    if (n == 1 || n == 2)
        return 1;
    else
        return Fibonacci(n - 1) + Fibonacci(n - 2);
}

void main()
{
    printf("%d \n", Fibonacci(40));        // 102334155 ,递归调用    5s     (利用内存的堆栈)

    system("pause");
}    
递归法
技术分享图片
#include <stdio.h>
#include <stdlib.h>


void main()
{
    int a[40] = { 0 };
    a[0] = 1;
    a[1] = 1;

    for (int i = 2; i < 40; i++)
    {
        a[i] = a[i - 1] + a[i - 2];
    }

    printf("%d \n", a[39]);

    system("pause");
}
数组存储的方式叠加
技术分享图片
#include <stdio.h>
#include <stdlib.h>


void main()
{
    int f1 = 1, f2 = 1, f3;                // 与数组类似 0s
    for (int i = 1; i < 40 - 1; i++)
    {
        f3 = f1 + f2;
        f1 = f2;
        f2 = f3;
        printf("%-10d ", f3);
        if (i % 5 == 0)
            puts("\n");
    }*/

    system("pause");
}
类数组的方式叠加

 

【0002】斐波那契数列

原文:https://www.cnblogs.com/ant-colonies/p/13334575.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!