O desafio consistia em escrever uma função que, recebendo um número inteiro (de 1 a 250), retorna o menor número de moedas necessárias para somar a esse valor, utilizando as moedas de 1, 5, 7, 9 e 11

. O objetivo é encontrar a combinação de moedas que resulte no número de entrada com a menor quantidade total de moedas.

Detalhes do Desafio:

Exemplo:

Ajuda do CHATGPT - explicação com DYNAMIC PROGRAMING (DP)

1️⃣ Olhando para o problema

Imagine o problema:

“Eu quero formar um valor target usando o menor número de moedas de valores diferentes que tenho.”

Se você pensar bem, é um problema de decisões sobre subproblemas menores:

Cada escolha depende do melhor jeito de formar o resto.

💡 Percebeu? O que acontece para i depende de como resolvemos i - coin antes.


2️⃣ Como nasceu o raciocínio do DP