zoukankan      html  css  js  c++  java
  • C 语言实例

    斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........

    这个数列从第3项开始,每一项都等于前两项之和。

    来历

    斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
    一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
    我们不妨拿新出生的一对小兔子分析一下:
    第一个月小兔子没有繁殖能力,所以还是一对
    两个月后,生下一对小兔对数共有两对
    三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对
    ------
    依次类推可以列出下表:
    经过月数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    幼仔对数
    1
    0
    1
    1
    2
    3
    5
    8
    13
    21
    34
    55
    成兔对数
    0
    1
    1
    2
    3
    5
    8
    13
    21
    34
    55
    89
     
    总体对数
    1
    1
    2
    3
    5
    8
    13
    21
    34
    55
    89
    144
     
    幼仔对数=前月成兔对数
    成兔对数=前月成兔对数+前月幼仔对数
    总体对数=本月成兔对数+本月幼仔对数
    可以看出幼仔对数、成兔对数、总体对数都构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。

    递推公式

    斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
    如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2)
    显然这是一个线性递推数列。
    流程图:
     

    实例 - 输出指定数量的斐波那契数列

    #include <stdio.h>
    
    int main()
    {
        int i, n, f1 = 1, f2 = 1, f;//定义变量
    
        printf("输出几项: ");
        scanf_s("%d", &n);//输入你想输出的项数
    
        printf("斐波那契数列: ");
    
        for (i = 1; i <= n; i=i+1)//for循环
        {
            printf("%d, ", f1);
            f = f1 + f2;
            f1 = f2;
            f2 = f;
        }
        return 0;
    }
  • 相关阅读:
    ZooKeeper 授权访问
    jQuery代码优化:事件委托篇
    设计一个学生作业完成情况的管理程序
    UVa 10192 Vacation(LCS水题)
    BBS快照源代码代写
    ftp服务器系统编程编码程序下载代写代开发
    文件夹病毒专杀工具
    C#生成软件注册码
    《恐怖丛林生存》肉搏攻略,解开星星系统之谜
    《恐怖丛林生存》各种bug 各种解密
  • 原文地址:https://www.cnblogs.com/HGNET/p/11873031.html
Copyright © 2011-2022 走看看