这篇文章主要介绍了python百钱买百鸡问题,共有几种方案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
百元买百鸡问题。“百元买百鸡”是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一python画皮卡丘。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?用现代 语言描述为:用100元钱买来100只鸡,公鸡5元钱一只,母鸡3元钱一只,小鸡1元钱3只。请问在这100只鸡中,公鸡、母鸡、小鸡各是多少只?要求公鸡、母鸡和小鸡数量之间空一格。
第一种答案:
import time
# 开始时间
start = time.time()
# 外层循环控制公鸡数量取值范围:0~20
for x in range(0, 21):
# 内层循环控制母鸡数量取值范围:0~33
for y in range(0, 34):
# 嵌套内层循环控制小鸡数量取值范围:0~100
for z in range(0, 101):
# 条件判断同时满足 5x+3y+ z/3== 100 和 x + y + z == 100
if (x * 5 + y * 3 + z / 3 == 100) and (x + y + z == 100):
print("%d\t%d\t%d" % (x, y, z))
# 结束时间
end = time.time()
print()
第二种答案:
cocks=100//5 #最多可买的公鸡数量
hens=100//3 #最多可买的母鸡数量
chicks=100*3 #最多可买的小鸡数量
for i in range(0,cocks+1):
for j in range(0,hens+1):
for k in range(0,chicks,3):
total = i + j + k #总数量
amount = 5 * i + 3 * j + int(k/3) #总金额
if total == 100 and amount == 100:
print(i,j,k)