百鸡百钱:实现一百块买一百只鸡,公鸡1只5块钱,母鸡1只3块钱,小鸡3只一块钱

百鸡百钱:实现一百块买一百只鸡,公鸡1只5块钱,母鸡1只3块钱,小鸡3只一块钱

public class HomeWork080502 {

	public static void main(String[] args) {
	/*	百鸡百钱:实现一百块买一百只鸡,公鸡1只5块钱,母鸡1只3块钱,小鸡3只一块钱
		提示:使用for循环嵌套
		 成立的条件:价格总额为100.并且数目总数为100
			分析:100块钱能最多能买20只公鸡
		  100块钱能最多能买33只母鸡
		                   100块钱能最多能买100只小鸡*/
		
		int gon = 0;// 公鸡数目
		int mu = 0;// 母鸡数目
		int xiao = 0;// 小鸡数目
//		定义总金额
		double money = 0;
//		因为100块钱能最多能买20只公鸡
		for (gon = 0; gon <= 20; gon++) {
//			100块钱能最多能买33只母鸡
			for (mu = 0; mu <= 33; mu++) {
//				小鸡的数量可以用100只减去公鸡和母鸡的数量得出
				xiao = 100 - gon - mu;
				money = 5 * gon + 3 * mu + xiao / 3.0;
//				因为价格要求总额为100,使用把遍历的数进行判断
				if (money == 100) {
					System.out.print("公鸡数目:" + gon);
					System.out.print("\t母鸡数目:" + mu);
					System.out.println("\t小鸡数目:" + xiao);
				}
			}
		}
	}


}

小鸡的数量可以用100只减去公鸡和母鸡的数量得出(这个方法不够严谨,因为小鸡的数量是一块钱3只,不会出现只买一只小鸡的情况)

xiao = 100 - gon - mu;

所以代码可以换成

public static void main(String[] args) {
		//遍历公鸡的可能性
		for(int g=0;g<=20;g++) {
			//遍历母鸡的可能性
			for(int m=0;m<=33;m++) {
				//遍历小鸡的可能性    注意小鸡是3只一块钱
				for(int x=0;x<=100;x=x+3) {
					//判断当前的情况是否满足条件
					//总价
					int price = g*5+m*3+x/3;
					//总数
					int num = g+m+x;
					//判断 百鸡百钱
					if(price==100&&num==100) {
						System.out.printf("公鸡个数为:%d 母鸡个数为:%d 小鸡个数为:%d \n",g,m,x);
					}
				}
			}
		}

效果图:
在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值