百钱买百鸡问题

百钱买百鸡,100块要买100只鸡,公鸡5块 母鸡3块 小鸡1块3个,100块花完 买了100个鸡
求有几种买法,分别买了多少只 公鸡母鸡小鸡 ?

方法一:

package com.Summer_0416.cn;

/**
 * @author Summer
 * 百钱买百鸡,100块要买100只鸡,公鸡5块 母鸡3块 小鸡1块3个,100块花完 买了100个鸡
 * 求有几种买法,分别买了多少只 公鸡母鸡小鸡 ?
 */
public class Test_Method13 {

    public static void main(String[] args) {
        for (int i = 0; i <= 20; i++) {//顶头买公鸡最多买20只
            for (int j = 0; j <=30; j++) {//顶头买母鸡最多买33只
                for (int z = 0; z <=(100-i-j); z=z+3) {//小鸡购买的个数依照公鸡和母鸡决定,一块钱三只,所以每次循环+3
                    
                    if (i+j+z==100&&i*5+j*3+(z/3)==100) {
                        System.out.println("公鸡:"+i+"母鸡:"+j+"小鸡:"+z);
                    }
                }
            }
        }

    }

}

方法二:

package com.Summer_0416.cn;

public class Test_Method14 {

    public static void main(String[] args) {
for(int i = 0;i<=20;i++){//公鸡   20
            
            for(int j=0;j<=33;j++){//母鸡   33 
                
                int z=100-i-j;//小鸡   
    
                if(z%3==0){//先判断是否买了小鸡,因为小鸡三只一块钱,如果买小鸡的话,那么小鸡数量一定是3的整数倍
                    
                    if(i*5+j*3+(z/3)==100){//再判断钱数问题
                        
                        System.out.println("i:"+i+"	j:"+j+"	z:"+z);
                        
                    }
                }    
            }    
        }

    }

}
原文地址:https://www.cnblogs.com/summerdata/p/10720606.html