Este tipo de problemas me recuerda a los problemas de conversión de base.
Te daré un consejo, usa el
operador modulo junto con la división.
Tal vez gráficamente resulte mas placentero y fácil.
En la imagen hay 20 manzanitas si las divido entre 4 veras que caben exactamente 5 en cada huequito, si tuviera 21 manzanitas entonces en cada huequito me cabrían 5 y me sobraría una, si tuviera 22 manzanitas me sobrarían 2, 23 me sobraría 3, 24 ahora el numero de manzanitas en cada huequito es 6.
El resultado de la división es el numero de manzanitas en cada huequito. Y el modulo es el numero de manzanitas sobrantes.
En este caso si cambio manzanitas por dinero, si quiero representar una cantidad N en términos de billetes y monedas entonces tu objetivo es sacar cuantas veces esa cantidad cabe en la denominación mas alta hasta las baja. Ejemplo:
Código:
numero_de_billetes_de_500 = N / 500 #Cuantas veces cabe N en 500
N = N % 500 #Dinero restante
....
numero_de_monedas_de_2 = N / 2
N = N % 2
numero_de_monedas_de_1 = N / 1
Edito: La imagen la saque de wikipedia, no decía que fueran manzanitas pero que nadie me diga lo contrario ¬¬