python百元买鸡问题_用python解决数学题——100块买100只鸡

这道数学题目是这样的:市场上有公鸡、母鸡和小鸡,它们的价格分别是1块、3块和0.5块一只。问题是我有100块钱,想买100只鸡,可以有多少种买法?

解题的思路就是我们从题目中了解到,如果100块钱全买公鸡,那么最多可以买100只;如果买母鸡,那么最多可以买33只;如果买小鸡,那么最多可以买100只(因为题目只要求买100只)。

所以我们决定假设可以买x只公鸡、y只母鸡、z只小鸡,然后x的最大值是100,y的最大值是33,z的最大值是100,我们对这3个假设值进行遍历求解。

我们先用for循环来实现它:

# for循环

count = 0

for x in range(0, 101):

for y in range(0, 34):

for z in range(0, 101):

if x + y + z == 100 and x + 3 * y + 0.5 * z == 100:

count += 1

print("买法" + str(count) + ":公鸡" + str(x) + "只," + "母鸡" + str(y) + "只," + "小鸡" + str(z) + "只。")

执行结果如下:

图片-31.png

我们再用while循环来实现一次:

# while循环

count = 0

x = 0

while x <= 100:

y = 0

while y <= 33:

z = 0

while z <= 100:

if x + y + z == 100 and x + 3 * y + 0.5 * z == 100:

count += 1

print("买法" + str(count) + ":公鸡" + str(x) + "只," + "母鸡" + str(y) + "只," + "小鸡" + str(z) + "只。")

z += 1

y += 1

x += 1

执行结果如下:

图片-33.png

由此可得,一共有21种买法。

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值