
Jonathan Mardones Guzmán
PreguntaHola, me entra una duda con el algoritmo. Pasa que me di cuenta de que en algunos casos extraños no me entrega la cantidad mínima de billetes posible. Por ejemplo, el siguiente caso:
Si ocupamos tres tipos de billetes de $125, $100 y $1; y le damos al cajero suficientes billetes (digamos, 100 de cada uno), al pedirle que nos de $1200 nos dará, con este algoritmo, 9 billetes de $125 y 75 billetes de $1. Pero claramente hay soluciones más sencillas, como por ejemplo que nos de 12 billetes de $100. O incluso mejor, que nos de 8 billetes de $125 y 2 billetes de $100. Se me ocurren algunas ideas para arreglarlo, como pedirle al cajero que calcule todas las posibles combinaciones de billetes que sumen $1200 y definir una función contar billetes de cada una de esas combinaciones, y que nos entregue la que ocupe menos, pero no es para nada eficiente jaja. ¿A alguien se le ocurre cómo hacer un algoritmo que funcione incluso en estos casos extraños y que sea eficiente?