Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/01/2012, 11:34
Avatar de cuasatar
cuasatar
 
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Problema con cajero automático

Pues es cuestión de colocar otro condicional. Siguiendo el mismo ejemplo los billetes de 200,50,20 y la cantidad a entregar de 210 como ya se descarto que sirva el de 200 se debe evaluar la siguiente opción (es decir 50). Si la división es mayor que 1 se debe poder hacer un condicional para que revise todos los casos posibles (es decir con 4,3,2 y 1 billetes). En caso de que no encuentre con la primera opción 4, pase a la 3, la 2 y finalmente la 1. Si en alguna iteración encuentra la respuesta se detiene sino continua evaluando.

210/50=4.2
10/20=no sirve

se sigue entonces con la siguiente opción que es restar la parte entera de la división anterior en una unidad
210/(3*50)=60
60/20=3

Y se soluciona el problema. Yo lo haria usando do while (que de momento se me ocurre para evaluar y que siga entrando a la función mientras se cumplan las condiciones, en el momento en que no se cumplan las condiciones se sale)

Quizas tambien se pueda hacer recursivamente pero de momento no se me ocurre alguna forma.
__________________
Blog de humor http://elcuasatar.net63.net/