• 【9302】&&【a301】兔子繁殖


    Time Limit: 10 second
    Memory Limit: 2 MB

    问题描述
    有一种兔子,出生后一个月就可以长大,然后再过一个月一对长大的兔子就可以生育一对小兔子且以后每个月都能生育一对。现在,我们有一对刚出生的这种兔子,那么,n个月后,我们会有多少对兔子呢?假设所有的兔子都不会死亡。

    Input

    仅一行,包含一个自然数n

    Output

    仅一行,包含一个自然数,即n个月后兔子的对数。

    Sample Input

    5
    
    

    Sample Output

    5
    

    【题解】

    图中如果没有箭头出来,则表示这只兔子正在成长,还不能繁殖。

    这样理一理,很容易能想出来斐波那契数列的。

    【代码】

    #include <cstdio>
    
    int n,a = 1,b = 1,c;
    
    void input_data()
    {
        scanf("%d",&n);
    }
    
    void get_ans()
    {
        if (n == 1) // n==1和n==2的特判
            {
                printf("1");
                return;
            }
        if (n == 2)
            {
                printf("1");
                return;
            }
        for (int i =3;i <= n;i++) //n >= 3的时候进行迭代。然后输出c
            {
                c = a + b;
                a = b;
                b = c;
            }
        printf("%d",c);
    }
    
    int main()
    {
        input_data();
        get_ans();
        return 0;
    }
    


     

  • 相关阅读:
    SQL server 事务介绍,创建与使用
    DOM操作系列-01
    JS键盘事件
    Js获取当前日期时间及其它操作
    js中!!的作用
    js == 与 === 的区别[转]
    学习总结--Dom
    css历史
    javascript中 visibility和display的区别
    “==”和Equals区别
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7632423.html
Copyright © 2020-2023  润新知