python 解决百钱买百鸡算数问题

该博客通过Python代码解析了中国古代数学家张丘建在《算经》中提出的数学问题——用100文钱购买100只鸡,鸡翁每只值5文,鸡母每只3文,鸡雏3只值1文。通过穷举算法寻找所有可能的鸡翁、鸡母和鸡雏的组合。代码实现了从1到20的鸡翁数量遍历,并在1到33的鸡母范围内尝试,最终找到符合条件的解。输出了若干可能的组合,展示了算法在解决此类问题中的应用。
摘要由CSDN通过智能技术生成

题目 :我国古代数学家张丘建在《算经》中提出了一个著名的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

for jw in range( 1,20):
         for jm  in range (1, 33):
            jc=0
            jc =100-jw-jm
            if(  jw*5 +jm*3 + jc*(1/3)==100 &  jw+jm+jc==100 ):
                    print("鸡翁、鸡母、鸡雏分别可以买:" ,jw,jm,jc)
print("算完了!")

分析思路:

  1. 首先分析100块钱最多能鸡翁:100/5 =20 只,最多能买20只,题目要求每种鸡都有,所鸡翁只能小于20只
  2. 分析最多能买几只鸡母:100/3=33只,所以鸡母的数量小于33
  3. 题目中可得 鸡翁+鸡母+鸡雏=100、5*鸡翁+3*鸡母+1/3*鸡雏=100
  4. 确定已知条件之后,考虑要用什么算法来实现,因为有很多种可能,所以考虑穷举一次去试
  5. 先去试能有几只鸡翁 for jw in range (1, 20):来试鸡翁的数量, 在鸡母能有几只 ,for  jm in range(1,33),鸡雏就等于总数100-jw-jm ; 最后就输出可能得到的数量;
  6. 鸡翁、鸡母、鸡雏分别可以买: 4 18 78
    鸡翁、鸡母、鸡雏分别可以买: 8 11 81
    鸡翁、鸡母、鸡雏分别可以买: 12 4 84
    算完了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值