备战蓝桥杯——算法经典趣题(百钱买百鸡)

                                          百钱买百鸡

          公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱。如果用100文钱,买100只鸡。那么公鸡,母鸡,小鸡应该买多少?

看到该题,首先想到的方法是,穷举法(也叫暴力破解)

               在百钱买白鸡中,有3个变量:公鸡数量,母鸡数量,小鸡数量  。

             分别设它们为  x   ,y   ,z

             它们应该满足关系式:   x+y+z=100         5x+3y+z/3=100

public class P10_1 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		
		for(int x=0;x<=100;x++){
	
			for(int y=0;y<=100;y++){
			
				for(int z=0;z<=100;z++){
			
					if(15*x+9*y+z==300&&x+y+z==100)   //这个是百钱买百鸡的核心
					//注意浮点数,尽量不用==;把x,y,z,转化为整数,在进行比较
					{
					
						System.out.println(x+"   "+y+"   "+z) ;
					}
				}
			}

	}
	}
}

从输出的结果看出:有4种购买方案

公鸡 母鸡  小鸡

0   25   75
4   18   78
8   11   81
12   4   84

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值