题目 :我国古代数学家张丘建在《算经》中提出了一个著名的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
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("算完了!")
分析思路:
- 首先分析100块钱最多能鸡翁:100/5 =20 只,最多能买20只,题目要求每种鸡都有,所鸡翁只能小于20只
- 分析最多能买几只鸡母:100/3=33只,所以鸡母的数量小于33
- 题目中可得 鸡翁+鸡母+鸡雏=100、5*鸡翁+3*鸡母+1/3*鸡雏=100
- 确定已知条件之后,考虑要用什么算法来实现,因为有很多种可能,所以考虑穷举一次去试
- 先去试能有几只鸡翁 for jw in range (1, 20):来试鸡翁的数量, 在鸡母能有几只 ,for jm in range(1,33),鸡雏就等于总数100-jw-jm ; 最后就输出可能得到的数量;
- 鸡翁、鸡母、鸡雏分别可以买: 4 18 78
鸡翁、鸡母、鸡雏分别可以买: 8 11 81
鸡翁、鸡母、鸡雏分别可以买: 12 4 84
算完了!