![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
29/01/2012, 11:34
|
![Avatar de cuasatar](http://static.forosdelweb.com/customavatars/avatar421229_3.gif) | | | Fecha de Ingreso: junio-2011 Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 7 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. |