zoukankan      html  css  js  c++  java
  • 【算法练习】- 百钱百鸡

    题目描述:假设有100钱刚好能买100只鸡,其中公鸡5钱一只,母鸡3钱一只,小鸡1钱3只,问公鸡母鸡小鸡各多少只?

    这里使用了for循环和while循环遍历结果集;

    /**
     * 百钱百鸡问题
     * @author juihai
     * @date 2021/7/19
     */
    public class HundredMoneyHundredChickenTest {
    
        /**
         * 假设有100钱刚好能买100只鸡,其中公鸡5钱一只,母鸡3钱一只,小鸡1钱3只,问公鸡母鸡小鸡各多少只?
         *
         */
        public static void main(String[] args) {
            //实现1
            solutionV1();
            //实现2
            solutionV2();
        }
    
        private static void solutionV1(){
            int count = 0;
            int z,total = 0;
    
            //公鸡为x,则x取值为0~20
            for(int x=0;x<=20;x++){
                //母鸡为y,则y取值范围为0~33
                for(int y=0;y<=33;y++){
                    count++;
                    //小鸡为z,取值为100-x-y
                    z = 100 -x -y;
                    if(z%3==0 && 5*x+3*y+z/3==100 ){
                        total++;
    //                        System.out.println("公鸡:" + x +"只,母鸡:"+ y +"只,小鸡:"+z+";共执行:"+count);
                        break;
                    }
                }
            }
            System.out.println("共执行:"+count+"次;共"+total+"种结果。");
        }
    
        private static void solutionV2(){
            //设公鸡为x,取值范围为0~20
            //母鸡为y,则y取值范围为0~33
            //小鸡为z,取值为100-x-y
            int z=0,count=0,total=0;
                int x=0;
                while(x<=20){
                    int y=0;
                    while (y<=33){
                        count++;
                        z = 100 -x -y;
                        if(z%3==0 && 5*x+3*y+z/3==100){
                            total++;
    //                        System.out.println("公鸡:" + x +"只,母鸡:"+ y +"只,小鸡:"+z+";共执行:"+count);
                            break;
                        }
                        y++;
                    }
                    x++;
                }
            System.out.println("共执行:"+count+"次;共"+total+"种结果。");
        }
    }

     输出内容: 

      共执行:640次;共4种结果。
      共执行:640次;共4种结果。

      

  • 相关阅读:
    cs硕士妹子找工作经历【阿里人搜等互联网】
    EJB到底是什么,真的那么神秘吗??
    到底EJB是什么
    安全性测试:
    掌握 Promise 的逻辑方法
    VS2019 不能下载的解决办法
    Java8基础系列-Stream
    周期模型(典型的几种):
    软件生存周期及其模型是什么?
    试述软件的概念和特点?软件复用的含义?构件包括哪些?
  • 原文地址:https://www.cnblogs.com/juihai/p/15032847.html
Copyright © 2011-2022 走看看