蓝桥杯每日一题(13):啤酒和饮料(python)

Topic:

啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。

Solution_1:

直接进行两次遍历
满足价格相加等于所求
且啤酒比饮料的数量少
即输出啤酒的数量为结果

Code_1:

for i in range(50):
    for j in range(50):
        if i * 2.3 + j * 1.9 == 82.3 and i < j:
            print(i)

Solution_2:

用递归解决本题
由于浮点数进行取余运算会产生难以纠正的误差
所以将数据都加一个数量级
保证数字都为整数的形式

Code_2:

def beer(beers, price):
    if price % 19 == 0 and beers < (price / 19):
        return beers
    return beer(beers + 1, price - 23)


print(beer(0, 823))

Answer:

11

猜你喜欢

转载自blog.csdn.net/weixin_50791900/article/details/112813834