zoukankan      html  css  js  c++  java
  • 母牛的故事

    母牛的故事

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 42986 Accepted Submission(s): 21357


    Problem Description
    有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

    Input
    输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0
    n=0表示输入数据的结束,不做处理。

    Output
    对于每个测试实例,输出在第n年的时候母牛的数量。
    每个输出占一行。

    Sample Input
    2 4 5 0

    Sample Output
    2 4 6
    my answer:
    #include
    using namespace std;
    int fbnq(int n)
    {
    int count;
    if(n==0)count=1;
    else if(n==1)count=1;
    else if(n==2)count=2;
    else if(n==3)count=3;
    else if(n==4)count=4;
    else if(n>4)
    count=fbnq(n-3)+fbnq(n-1);
    return count;
    }
    int main()
    {
    int n;
    while(cin>>n)
    {
    if(n==0)
    return 0;
    int f;
    f=fbnq(n);
    cout<<f<<endl;
    }
    return 0;
    }

    思路:这题又是个斐波那契数列的题:
    年份 母 1 2 3 数量
    0 1 0 0 0 1
    1 1 0 0 0 1
    2 1 1 0 0 2
    3 1 1 1 0 3
    4 1 1 1 1 4
    5 2 2 1 1 6
    6 3 3 2 1 9
    7 4 4 3 2 13
    。。。。。。。。。
    可以发现数量那一列是有关系的,总结出来就是f(n)=f(n-1)+f(n-3);
    用递归思想就可以了。
  • 相关阅读:
    Word pair Hu
    [bzoj1601] 灌水
    小木棍
    雇佣计划
    [Luogu1282] 多米诺骨牌
    [Luogu1216] 数字三角形
    [Luogu1734] 最大约数和
    [NOIp2008] 传纸条
    [Luogu1325] 雷达安装
    nginx
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4236787.html
Copyright © 2011-2022 走看看