Python采购问题求解

鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。
×钱买Y鸡,问鸡翁、鸡母、鸡雏各几何?
输入X和Y的值,输出所有买法的总数。若无答案,输出“no solution”。

flag = 0
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)
                    flag += 1
if flag == 0:
        print("no solution")
else:
        print(flag)

3

def buy_chickens(X, Y):
    count = 0
    for x in range(X // 5 + 1):
        for y in range(X // 3 + 1):
            for z in range(X * 3 + 1):
                if x + y + z == Y and x * 5 + y * 3 + z // 3 == X and z % 3 == 0:
                    count += 1
    if count == 0:
        return "no solution"
    else:
        return count

这个函数接收两个参数X和Y,分别表示总价和购买的鸡的数量。它使用三重循环来枚举所有可能的鸡翁、鸡母和鸡雏的数量组合,并检查是否满足题目中给出的条件。如果找到了符合条件的组合,则计数器加一。最后,如果没有找到任何一种符合条件的组合,则返回“no solution”,否则返回计数器的值,即总共的购买方案数。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^