008百元买百鸡

1.题目

公鸡,5钱一只
母鸡,3钱一只
小鸡,1钱三只
问:花100钱买100只鸡,应该如何购买?

2.代码如下

#include<stdio.h>
int main(void)
{
	//i:公鸡	j:母鸡		k:小鸡
	for (int i = 0; i < 20; i++)	//公鸡数量为0-20
	{
		for (int j = 0; j < 33; j++)	//母鸡数量为0-33
		{
			for (int k = 3; k < 99; k++)	//小鸡数量为3-99
			{
				if (5 * i + 3 * j + k / 3 == 100)	//判断所花的钱是否等于100
				{
					if ( i + j + k == 100)	//判断购买的鸡数是否等于100
					{
						if (k % 3 == 0)	//判断小鸡数量是否能被3整除
						{
							printf("公鸡%d只,母鸡%d只,小鸡%d只\n", i, j, k);
						}
					}
				}
			}
		}
	}
	return 0;
}

3.个人见解

由题可知,得出以下两个算式:
5*i+3*j+k/3=100
i+j+k=100
因为小鸡是1钱3只,且都是整数。所以k%3=0
又,根据题目所给条件:
如若全买公鸡价钱在100钱以内,且数量保证在100以内,则公鸡最多20只;
如若全买母鸡价钱在100钱以内,且数量保证在100以内,则母鸡最多33只;
如若全买小鸡价钱在100钱以内,且数量保证在100以内,则小鸡最多99只。
以此,嵌套循环,即可得出结果

4.输出结果截图

008百元买百鸡

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值