Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camilafbarcellos/problemadotroco
Resolução do Problema do Troco utilizando Programação Dinâmica e Algoritmo Guloso - Análise e Complexidade de Algoritmo (ACA) 2023/1
https://github.com/camilafbarcellos/problemadotroco
Last synced: 1 day ago
JSON representation
Resolução do Problema do Troco utilizando Programação Dinâmica e Algoritmo Guloso - Análise e Complexidade de Algoritmo (ACA) 2023/1
- Host: GitHub
- URL: https://github.com/camilafbarcellos/problemadotroco
- Owner: camilafbarcellos
- Created: 2023-08-15T18:52:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-15T19:00:00.000Z (about 1 year ago)
- Last Synced: 2023-08-15T20:34:16.226Z (about 1 year ago)
- Language: Python
- Size: 735 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Resolução do Problema do Troco com Programação Dinâmica e Algoritmo Guloso
Este repositório contém a implementação em Python para resolver o **problema do troco** utilizando duas abordagens: **Programação Dinâmica** e **Algoritmo Guloso**. O problema consiste em determinar a quantidade mínima de moedas necessárias para dar o troco em um valor específico, dado um conjunto de moedas disponíveis.
## Sobre o Problema
O problema do troco é um clássico da área de algoritmos e otimização. Dado um valor inteiro representando um troco a ser dado, e um conjunto de moedas de diferentes valores, o objetivo é encontrar a menor quantidade de moedas que somadas resultam no troco desejado. Neste repositório, exploramos duas abordagens: **Programação Dinâmica** e **Algoritmo Guloso**.
## Implementações
### Programação Dinâmica
A abordagem de Programação Dinâmica utiliza uma tabela para armazenar a quantidade mínima de moedas necessárias para cada valor de troco. A tabela é preenchida gradualmente usando subproblemas menores para calcular o troco de valores maiores.
### Algoritmo Guloso
O Algoritmo Guloso aborda o problema escolhendo a maior moeda disponível sempre que possível, reduzindo gradualmente o valor do troco. Essa abordagem pode não garantir sempre a solução ótima, mas é rápida e muitas vezes oferece uma solução próxima do mínimo.
## Como Executar
1. Informe o valor do troco desejado.
> Caso desejado, você pode alterar a lista de moedas disponíveis
2. O programa irá calcular o troco necessário utilizando Programação Dinâmica e Algoritmo Guloso e irá exibir a quantidade e quais as moedas necessárias com cada abordagem.**Aviso:** A abordagem de Algoritmo Guloso pode não funcionar em todos os cenários, especialmente quando as moedas disponíveis não formam um sistema canônico (como quando a moeda de valor 1 não está presente). Certifique-se de considerar os resultados cuidadosamente e ajustar as moedas disponíveis conforme necessário.
_© [Camila Barcellos](https://github.com/camilafbarcellos) 2023 - IFSul_