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