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

输入:

      输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。

输出:

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

样例输入:

                                          245680

样例输出:

                                          246919

分析:

这个问题比较简单的思路是用递归的方法。显然,前三年只有一头母牛生产小牛,所以第一年为1头,第二年为2头,第三年为3头,从第五年起小母牛就会生小牛,以后每年牛的数量为去年牛的数量加上新出生的小牛,以此类推。这个问题的难点还有输入数据,每读入一个数据就要检测是否为0,若为0,则不再继续读入。所以先设一个数组n[55],然后再给数组逐个赋值。

正确代码:

#include<stdio.h>
int number(int n,int f[])
{int i = 0;f[1] = 1;f[2] = 2;f[3] = 3;       //前三年只有一头牛生产for(i = 4;i <= n;i++){f[i] = f[i-1] + f[i-3];  //从第四年开始,每年牛的数量为去年的牛加上新出生的小牛}return f[n];
}
int main()
{int n[55] = {0};int f[55] = {0};int i = 0;int k = 0;for(i = 0;i < 55;i++){scanf("%d",&n[i]);if (n[i] == 0){break;}                 //判断输入数据是否结束k++;              //k为数据的个数}for(i = 0;i < k;i++){printf("%d\n",number(n[i],f)); //调用函数输出结果}return 0;
}

总结:
这道题最难的就是要理解题意,找出递归的式子。要注意的是每头小牛到第四个年头都会生小牛,所以每年新出生的小牛的数量为三年前牛的总数量。

C语言 母牛生小牛问题 多组测试数据相关推荐

  1. c语言母牛生小牛程序框图,C语言母牛问题

    一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛.假设每次生的都是母牛,并且也遵守4年才能生育并生母牛的原则,并且无死亡,请问N年后共有过少头牛? 看到这个题目的时候 猛 ...

  2. 关于c++中的一个母牛生小牛的问题详细解答与体会

    近来我们这些刚学c++的菜鸟不太懂得母牛生小牛的问题,我查了查,最后有简明表达了自己的两句理解性语言,希望和我一样的同学们能过更好的理解-- #include   <iostream>   ...

  3. 有一头母牛从第四年php,递归求解母牛生小牛问题

    母牛生小牛 Problem 设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛? Input 本题有多组数据.每组数据只有一个整数N,独占一行.(1≤N≤50) Output ...

  4. 算法练习day15——190403(简介、求n!、汉诺塔、打印字符串的子序列、打印字符串的全排列、母牛生小牛、最小路径和、累加和是否达到给定值)

    1. 简介 动态规划是为了优化暴力尝试的. 2. 求n! 2.1 一般思路 public static long getFactorial2(int n) {long result = 1L;for ...

  5. 青蛙跳台(含变种)及汉诺塔递归,母牛生小牛

    青蛙跳台(含变种)及汉诺塔递归,母牛生小牛 文章目录 青蛙跳台(含变种)及汉诺塔递归,母牛生小牛 #define _CRT_SECURE_NO_WARNINGS #include<Windows ...

  6. 母牛生母牛,母牛生小牛。。。

    小母牛生母牛 描述 某老头家有只神奇的小母牛, 小母牛单性繁殖,从4岁起就开始生崽 而且每次生出的都是母牛, 于是母牛生小母牛,小母牛生小小母牛的漫漫长路就开始了(而且没有一头牛会死) 问 n 年之后 ...

  7. 求母牛生小牛函数c语言,编程求解以下问题 若一头母小牛,从出生的第四个年头开始每年生一头小母牛,按此规律,第n年时有多少头母牛?(要求用两种方法)...

    满意答案 zoav7 2015.10.15 采纳率:59%    等级:7 已帮助:962人 //第一种方法 int n = 100; //假设n=100 int[] Group = new int[ ...

  8. 母牛生小牛问题-字节跳动笔试题

    题目 母牛从3-7岁初每年会生产1头母牛,10岁后死亡(10岁仍然存活).假设初始有1头刚出生的母牛,请问第n年有多少头母牛?(年从第一年开始计数) 注: 第3年初会出生第一头牛,故第3年有两头母牛 ...

  9. 一个好玩的编程小游戏—— 母牛生小牛

    题目: 母牛从3~7岁初每年会生产1头小母牛,10岁后死亡(10岁任然存活),假设初始有一头刚出生的母牛,请问第n年有多少头母牛?(年从第一年开始计数) 注:第三年初会出生 第一头母牛,故第三年有两头 ...

最新文章

  1. 中国、意大利等国研究员用AI 发现新的月球陨石坑 | AI日报
  2. java replaceall lt_static lt;Tgt; boolean replaceAll(Listlt;Tgt; list, T oldVal, T newVal)_Java...
  3. 开源项目成熟度分析工具-利用github api获取代码库的信息
  4. 日期与时间(C/C++)
  5. (待解)静态构造器和静态字段调用的相互嵌套
  6. 如何利用python语言实现对象数组
  7. spark将rdd转为string_八、Spark之详解Tranformation算子
  8. 提升业务价值 APM应用与整合分享
  9. android 控制音乐,Android音乐控制接口RemoteController使用
  10. 树算法系列之二:boosting,bagging,提升树
  11. unity透明物体显示问题
  12. 谷歌浏览器控制台使用
  13. comment hive_Hive中基本语法
  14. 数字改造有色金属产业链,发挥产业优势效能
  15. java.util之ArrayList使用
  16. Docker安装PHP-FPM5.6 (自带redis扩展,Mysql扩展,GD库扩展(支持JEPG))
  17. LINUX目錄配置|Directory-Configuration-In-Linux
  18. 2002版《首席执行官》观后感及总结
  19. 程序员上了年纪可以做啥?
  20. 什么是人们常用的计算机设备之一,2012全国计算机一级考试一级B样题

热门文章

  1. 除了青蛙旅行,我们还有哪些大事不是被机器人搞砸的?
  2. php opcode列表,PHP中的opcode
  3. JAVA NIO:NIO与OIO的对比以及Channel通道、Selector选择器、Buffer缓冲区的介绍 //高并发
  4. OPEN-SET RECOGNITION:A GOOD CLOSED-SET CLASSIFIER IS ALL YOU NEED
  5. c语言大地坐标转换空间坐标,空间直角坐标系与大地坐标系转换程序
  6. Warning: Accessing non-existent property ‘cat‘ of module exports inside circular dependency
  7. 学习——学习能力是最重要的能力
  8. 01蓝桥杯特训课程第一次总结
  9. matlab 非a到z,MATLAB命令大全(A-Z)
  10. Kotlin Sealed 是什么?为什么 Google 都用