zoukankan      html  css  js  c++  java
  • C语言经典算法100例-011-兔子问题

    问题如下:

    古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月
    后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    1.分析:问题的关键是建立数学模型,而每三个月生一对兔子可以转化为斐波那契问题。究竟是如何转化为斐波那契问题的呢?请看下图:

       而通项公式为:

    F(1)=F(2)=1;
    F(n)=F(n-1)+F(n-2) (n≥3)。关于通项公式的证明,有兴趣可以自己证一下。
    于是程序也就很好写了。

    2.源代码:

    #include <stdio.h>
    #include <stdlib.h>
    //兔子问题
    int main()
    {
        long f1,f2;
        int i;
        f1=f2=1;
        for(i=1;i<20;i++)
        {
            printf("%12d%12d",f1,f2);
            if(i%2==0) printf("
    ");//每行输出四个数
            f1=f1+f2;   //给下一次的F1赋值
            f2=f1+f2;   //给下一次的F2赋值
        }
        return 0;
    }

    该程序十分简洁,只使用了两个长整型就完成了显示。

        

  • 相关阅读:
    一、分组查询
    续、传参
    页面加载时loading效果
    2019-6 21
    一、Nuget管理
    三、项目分析
    七、OIDC
    【2019-10-19】习惯的力量
    【2019-10-18】好好珍惜自己的好奇心
    【2019-10-17】女人有钱,体面又可爱
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9959513.html
Copyright © 2011-2022 走看看