算法编程(Java)#母牛生小牛的问题【字节】
题目描述
母牛从3 -7 岁初每年会产生1头小牛,10岁以后死亡(10岁存活)。假设初始有1投刚出生的母牛,请问第n年有多少头牛?(从第一年起计数)
注:第三年初会出生 第一头母牛,故第三年有两头母牛。
第五年初,第三年出生的母牛会生产,故第五年有五头母牛。
岁数是虚数
输入输出
- 输入年数n
- 输出牛数
第一年有1头牛
第二年有1头牛
第三年将出生一头牛,故有2头牛
第四年将出生一头牛,故有3头牛
第五年…,故有5头牛
第12年…,故有123头牛
思路
- 创建一个牛的对象,属性只有年龄
- 创建一个集合类,用来存放牛对象
- 遍历这个集合
- 判断牛是否生育,可以的话就再集合中加入一个对象
- 判断牛是否死亡,死亡就从集合中移除,否则年龄加一
- 输出集合中对象的数目
踩过的坑
- 遍历集合时不要用迭代器,否则会报修改异常
java.util.ConcurrentModificationException
代码
package com.xp;
import java.util.*;public class Main {public static void main(String[] args) {//输入所要计算的年Scanner sc = new Scanner(System.in);//测试用 存放每只牛的年龄List<Integer> rm = new ArrayList<>();//定义一个集合存放牛的数量List<Animal> m = new ArrayList<>();m.add(new Animal(1));//判断查询哪一年的数量int n = sc.nextInt();for(int i = 1;i<= n;i++){for(int j = 0 ;j < m.size();j++){Animal animal = m.get(j);//看看牛是否可以生育if(animal.getAge()>= 3 && animal.getAge()<=7){m.add(new Animal(1));}//判断牛是否死亡if(animal.getAge()==10){m.remove(j);}else {//年龄加animal.setAge(animal.getAge() + 1);}}rm.add(m.size());//测试用输出当年牛的年龄
// if(i==n){// Iterator it = m.iterator();
// while (it.hasNext()) {// Animal animal = (Animal)it.next();
// System.out.println(animal.getAge()-1);
// }
// }}//输出牛的数量System.out.println(m.size());}}
//定义母牛这个类class Animal{private int age;public Animal(int age) {this.age = age;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
算法编程(Java)#母牛生小牛的问题【字节】相关推荐
- 算法练习day15——190403(简介、求n!、汉诺塔、打印字符串的子序列、打印字符串的全排列、母牛生小牛、最小路径和、累加和是否达到给定值)
1. 简介 动态规划是为了优化暴力尝试的. 2. 求n! 2.1 一般思路 public static long getFactorial2(int n) {long result = 1L;for ...
- 有一头母牛从第四年php,递归求解母牛生小牛问题
母牛生小牛 Problem 设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛? Input 本题有多组数据.每组数据只有一个整数N,独占一行.(1≤N≤50) Output ...
- php 大牛生小牛,C#算法之关于大牛生小牛的问题
本文实例讲述了C#算法之关于大牛生小牛的问题.分享给大家供大家参考.具体分析如下: 问题: 一只刚出生的小牛,4年后生一只小牛,以后每年生一只.现有一只刚出生的小牛,问20年后共有牛多少只? 刚开始觉 ...
- 青蛙跳台(含变种)及汉诺塔递归,母牛生小牛
青蛙跳台(含变种)及汉诺塔递归,母牛生小牛 文章目录 青蛙跳台(含变种)及汉诺塔递归,母牛生小牛 #define _CRT_SECURE_NO_WARNINGS #include<Windows ...
- 关于c++中的一个母牛生小牛的问题详细解答与体会
近来我们这些刚学c++的菜鸟不太懂得母牛生小牛的问题,我查了查,最后有简明表达了自己的两句理解性语言,希望和我一样的同学们能过更好的理解-- #include <iostream> ...
- C语言 母牛生小牛问题 多组测试数据
题目描述: 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入: 输入数据由多个测试实例组成,每个测试实例占一行, ...
- java 牛生小牛_牛生小牛的递归算法
//关于牛的算法 //算法概述:设牛寿命无限 4年成年可以生小牛 依次类推求n年后牛的数量 //算法:用一个数组cow[4] cow[0]为成年牛 cow[1]为一年牛 cow[2]为两年牛 cow[ ...
- c语言母牛生小牛程序框图,C语言母牛问题
一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛.假设每次生的都是母牛,并且也遵守4年才能生育并生母牛的原则,并且无死亡,请问N年后共有过少头牛? 看到这个题目的时候 猛 ...
- 母牛生母牛,母牛生小牛。。。
小母牛生母牛 描述 某老头家有只神奇的小母牛, 小母牛单性繁殖,从4岁起就开始生崽 而且每次生出的都是母牛, 于是母牛生小母牛,小母牛生小小母牛的漫漫长路就开始了(而且没有一头牛会死) 问 n 年之后 ...
最新文章
- 经典贪心法:时间序列问题及其全局最优性证明
- 就是把努力涂抹在人生的画卷上
- 【框架】[Spring]XML配置实现AOP拦截-切点:JdkRegexpMethodPointcut
- 从行驶的车上向上抛球,球真的会回到原地吗?
- Android一个自定义的进度环:ProgressChart
- 无法确定域的标识_标识标牌设计的基本要求:虽然是基本要求,你未必也都知道哦...
- 算法笔记_031:计算中值和选择问题(Java)
- 手机自动化测试:Appium源码分析之跟踪代码分析四 5
- php dom对象,JavaScript_JavaScript DOM 对象深入了解,什么叫DOM,DOM是文档对象模型( - phpStudy...
- oracle top 5 timed events,oracle gcr sleep in the Top Timed Events in report
- 难道是我洞悉了CSDN网站订阅专栏收益的秘密?带你看看网站专栏一天营收几何?
- html圆角周角代码,CSS3实现DIV圆角效果完整代码
- Opencv系列1_opencv对单张DCM文件的读取并显示
- 微信小程序使用赞赏码功能
- 钛资本研究院:保险科技行业现状及趋势分析
- 中关村-DIY之笔记本做wifi热点供手机无线上网
- 微软面试题 博弈论 经典案例 (参考答案)
- 使用uiautomatorviewer.bat抓取页面是显示Error obtaining Ul hierarchy Reason
- 手把手教你安装虚拟机16
- 10.1 快乐,自费送几本豆瓣9.0高分书籍