Escriba un programa que calcule si un valor monetario ingresado, como un entero, puede representarse mediante una combinación única de monedas y / o billetes, lo que significa que la misma moneda / billete no puede usarse más de una vez.
Su programa debe tomar un valor como entrada, y puede tomar una lista de valores de monedas / billetes ya sea a través de la entrada o del equivalente de una matriz de su idioma. La lista de monedas / billetes debería poder cambiar, así que asegúrese de que esté claro dónde está definido si está usando una constante.
Su programa debería generar cualquier valor de verdad / falsedad respectivamente.
Tenga en cuenta que no se requiere generar la lista de monedas / billetes que componen el valor .
EJEMPLO
Usando la libra esterlina, (£ 1.00 = 100 y £ 420.69 = 42069)
coins = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000]
Lo siguiente dará como resultado verdadero:
6 (1, 5)
15 (10, 5)
88 (1, 2, 5, 10, 20, 50)
512 (500, 10, 2)
7003 (5000, 2000, 2, 1)
Lo siguiente dará como resultado falso:
4
209
8889
4242424242
[ANYTHING ABOVE 8888]
DATOS ALTERNATIVOS DE PRUEBA (Dólar estadounidense)
coins = [1, 5, 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10000]
¡Buena suerte!