... contou!
Você passará ao seu programa uma variável que representa uma quantidade de dinheiro em dólares e / ou centavos e uma matriz de valores de moedas. Seu desafio é gerar o número de combinações possíveis da matriz especificada de valores de moedas que somariam a quantia passada para o código. Se não for possível com as moedas nomeadas, o programa deve retornar 0
.
Nota sobre a terminologia numismática americana:
- Moeda de 1 centavo: centavo
- Moeda de 5 cêntimos: níquel
- Moeda de 10 cêntimos: moeda de dez centavos
- Moeda de 25 cêntimos: quarto de dólar
Exemplo 1:
Programa é passado:
12, [1, 5, 10]
(12 centavos)
Saída:
4
Existem 4 maneiras possíveis de combinar as moedas nomeadas para produzir 12 centavos:
- 12 centavos
- 1 níquel e 7 centavos
- 2 níquel e 2 centavos
- 1 centavo e 2 centavos
Exemplo 2:
Programa é passado:
26, [1, 5, 10, 25]
(26 centavos)
Saída:
13
Existem 13 maneiras possíveis de combinar as moedas nomeadas para produzir 26 centavos:
- 26 centavos
- 21 centavos e 1 níquel
- 16 centavos e 2 níquel
- 11 centavos e 3 níquel
- 6 tostões e 4 níquel
- 1 centavo e 5 níquel
- 16 centavos e 1 centavo
- 6 centavos e 2 centavos
- 11 centavos, 1 centavo e 1 níquel
- 6 centavos, 1 centavo e 2 níquel
- 1 centavo, 1 centavo e 3 níquel
- 1 centavo, 2 centavos e 1 níquel
- 1 quarto e 1 centavo
Exemplo 3:
Programa é passado:
19, [2, 7, 12]
Saída:
2
Existem 2 maneiras possíveis de combinar as moedas nomeadas para produzir 19 centavos:
- 1 moeda de 12 centavos e 1 moeda de 7 centavos
- 1 moeda de 7 centavos e 6 moedas de 2 centavos
Exemplo 4:
Programa é passado:
13, [2, 8, 25]
Saída:
0
Não há maneiras possíveis de combinar as moedas nomeadas para produzir 13 centavos.
Isso já passou pela Sandbox. Aplicam-se brechas padrão. Isso é código de golfe, então a resposta com o menor número de bytes vence.
s/count/earn
.