Escreva um programa que calcule se um valor monetário inserido, como um inteiro, pode ser representado por uma combinação única de moedas e / ou notas, o que significa que a mesma moeda / nota não pode ser usada mais de uma vez.
Seu programa deve ter um valor como entrada e pode obter uma lista de valores de moedas / notas via entrada ou pelo equivalente no idioma de uma matriz. A lista de moedas / notas deve poder ser alterada; portanto, verifique se é claro onde isso está definido se você estiver usando uma constante.
Seu programa deve gerar qualquer valor de verdade / falsidade, respectivamente.
Observe que não é necessário exibir a lista de moedas / notas que compõem o valor .
EXEMPLO
Usando a libra esterlina, (£ 1,00 = 100 e 420,69 = 42069)
coins = [1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000]
A seguinte saída será verdadeira:
6 (1, 5)
15 (10, 5)
88 (1, 2, 5, 10, 20, 50)
512 (500, 10, 2)
7003 (5000, 2000, 2, 1)
A seguir, o resultado será falso:
4
209
8889
4242424242
[ANYTHING ABOVE 8888]
DADOS ALTERNATIVOS DO ENSAIO (dólar americano)
coins = [1, 5, 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10000]
Boa sorte!