程序设计部分 从现实问题到计算机程序 第2关:百元买百鸡问题

任务描述
本关任务:计算百元买百鸡的方案。

相关知识
百元买百鸡问题
假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。

问题分析
对于我们人来说,计算所有的购鸡方案虽然不难,但是很繁琐。而计算机的特性就是:不怕啰嗦,因此我们可以编写一个程序,让计算机来干这些粗活重活。

解决这个问题,最简单的办法就是穷举,举出所有可能的组合,然后从中挑选满足条件的组合。既然要穷举,那就要确定一下穷举的大致范围。

我们用a,b,c来表示小鸡,公鸡,母鸡的数量。

小鸡的价格是5角,那么100元最多能买200只小鸡,但我们只要100只,所以小鸡的数量范围是0 - 100。同理,公鸡的数量范围是0 - 50。而对于母鸡的数量,可以按照前述的方法,也可以利用总量是100只这个条件,即母鸡的数量为100 - a - b。

现在可以开始写代码了,首先我们利用for循环来穷举小鸡的数量:

for(int a = 0;a <= 100;a=a+1) //初始值是0,最大值是100
{
    //循环体
}
然后,在每一种小鸡数量的基础上,穷举公鸡的数量,也是使用for循环:

for(int b = 0;b <= 50;b++)
{
    //循环体
}
母鸡的数量则直接利用公式求解:

int c =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值