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)

你可能感兴趣的:(Python,python,算法,开发语言)