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

    描述:

     有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
    输入:
    输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
    n=0表示输入数据的结束,不做处理。
    输出:对于每个测试实例,输出在第n年的时候母牛的数量。
    每个输出占一行。
    input:
    2
    4
    5
    0
    output:
    2
    4
    6
     
    分析:本题难点在每头小牛在第四年也生产一头小牛,我们可以列出1到8年的增长规律来得出递推式sum[n]=sum[n-1]+sum[n-3](n>=5),我们可以这样来理解这个递推式,从第5年开始,第二年的产的小牛也开始生产,也就是说第二年所有的牛在第5年都会生产,第四年存在的牛第五年也都在,但不是所有都会生产,所以sum[5]=sum[4]+sum[3]。
    这样可以得出第n年的牛总数等于n-1年总数加上四年前即n-3年牛的总数。
     1 #include<iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     static int a[55];
     7     a[1] = 1;a[2] = 2;a[3] = 3;a[4] = 4;
     8     for (int i = 5;i < 55;i++)
     9         a[i] = a[i - 1] + a[i - 3];
    10     int s;
    11     while ((cin >> s) && (s != 0))
    12         cout << a[s] << endl;
    13     system("pause");
    14     return 0;    
    15 }
  • 相关阅读:
    flash
    应用缓存
    音频和视频
    拖拽借口
    地理定位接口
    表单元素
    jquery常见用法
    jquery ajax 模板
    Ubuntu下Lucene环境搭配
    小絮叨
  • 原文地址:https://www.cnblogs.com/wuyoucao/p/4814948.html
Copyright © 2011-2022 走看看