<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">"""
Dada una cantidad c, esta es repartida entre las denominaciones 
pasada como parametros y sujeta a las restricciones indicadas
"""


def BilletesMonedas(den, res, c):
    if len(den) != len(res):
        print("Error los arreglos no son del mismo tamano")
        exit(1)

    xc = c
    u = [0] * len(den)
    # Ciclo sobre cada una de las denominaciones
    for i in range(len(den)):
        # ciclo sobre cada una de las cantidades que satisfacen la denominacion y la restriccion
        while xc &gt;= den[i] and u[i] &lt; res[i]:
            xc -= den[i]
            u[i] += 1

    # visualizacion
    print("cantidad:" + str(c))
    for i in range(len(den)):
        print(
            "en: "
            + str(den[i])
            + " con la restriccion de: "
            + str(res[i])
            + " se usaron: "
            + str(u[i])
        )
    print("sobra: " + str(xc))
    # prueba
    r = 0
    for i in range(len(den)):
        r += den[i] * u[i]
    r += xc
    print("Prueba: " + str(r))


"""
Prueba
"""
if __name__ == "__main__":
    d = [1000, 500, 100]
    r = [6, 4, 100]
    BilletesMonedas(d, r, 7401)
</pre></body></html>