Tema:
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
注意:答案是一个整数。
Solución_1:
Realice dos recorridos directamente para
comprobar que la suma del precio es igual al requerimiento
y la cantidad de cerveza es menor que la cantidad de bebidas,
es decir, la cantidad de cerveza producida es el resultado
Código_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)
Solución_2:
Utilice la recursividad para resolver este problema.
Debido a que los números de punto flotante realizan operaciones de resto producirán errores
que son difíciles de corregir, agregue un orden de magnitud a los datos para
asegurarse de que los números estén en forma entera.
Código_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))
Responder:
11