LQ0252 基因牛程序填空

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0252 基因牛程序填空相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2011初赛 Java C组G题

题目描述
本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一,则只需选择其一进行补全提交即可。复制后需将源代码中填空部分的下划线删掉,填上你的答案。提交后若未能通过,除考虑填空部分出错外,还需注意是否因在复制后有改动非填空部分产生错误。

张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授 n 年后有多少头母牛?

以下程序模拟了这个过程,请填写缺失的代码。

源代码
Java

import java.util.*;

public class Main

public static class Cow 

    private int age;
    public Cow afterYear()
    
        age++;
        return age > 2 ? new Cow() :_________;  // 填空1
        
    
    public static void showTotalCowNum(int n)
    
        List<Cow> list = new ArrayList<Cow>();
        list.add(new Cow());

        for (int i = 0; i < n; i++)
        
            int cowCount = list.size();
            for (int j = 0; j < cowCount; j++)
            
                Cow cow = list.get(j).afterYear();
                if (cow != null)
                
                    _________;  // 填空2
                    
                    list.add(cow);
                
            
        
        System.out.println(n + "年后,共有:" + list.size());        
    
    
    
    
    public static void main(String[] args)
    
        Cow.showTotalCowNum(7);  
    

问题分析
2个空分别填入“null”和“++cowCount”

AC的Java语言程序如下:

import java.util.*;

public class Main

public static class Cow 

    private int age;
    public Cow afterYear()
    
        age++;
        return age > 2 ? new Cow() :null;  // 填空1
        
    
    public static void showTotalCowNum(int n)
    
        List<Cow> list = new ArrayList<Cow>();
        list.add(new Cow());

        for (int i = 0; i < n; i++)
        
            int cowCount = list.size();
            for (int j = 0; j < cowCount; j++)
            
                Cow cow = list.get(j).afterYear();
                if (cow != null)
                
                    ++cowCount;  // 填空2
                    
                    list.add(cow);
                
            
        
        System.out.println(n + "年后,共有:" + list.size());        
    
    
    
    
    public static void main(String[] args)
    
        Cow.showTotalCowNum(7);  
    

以上是关于LQ0252 基因牛程序填空的主要内容,如果未能解决你的问题,请参考以下文章

LQ0254 轮换程序填空

LQ0176 杨辉三角程序填空

LQ0244 开平方程序填空

LQ0234 大数乘法程序填空

LQ0228 放棋子程序填空

LQ0227 反转串程序填空