Sei que eh grande, se tiver com preguiça de ler descarte o que tah em italico ja …mas me ajuuudem!
Galera … eu to entrando em parafuso …ja expressei minha duvida …de como fazer um algoritmo pra varias pessoas e nenhuma resposta conseguiu me ajudar, resolvi agora postar realmente todo o problema e ver se alguma alma boa me dah uma luz pra criaçao do algoritmo que preciso!!
vo tentar explicar mais ow menos o que preciso e no que ja pensei e nao pensei:
preciso fazer um programa … em que o usuario digitara n numeros, um de cada vez. Cada numero corresponde ao valor de uma moeda, soh que essas moedas podem conter qualquer valor, seria como eu depositar no banco … 25 centavos…mas posso fazer isso de qualquer maneira … depositando uma de 10 centavos … e 3 de 5 … ow uma moeda de 24 centavos e uma de um.
a ideia do programa consiste …em do valor total passado pelo usuario, dividir esse valor entre o menos numero de pilhas possivel, um exemplo seria:
o usuario depositou 33 centavos, com esse valor … o programa tem que dividir em 3 pilhas diferentes de 11 centavos, se isso nao for possivel o programa deve lançar uma msg dizendo que nao é possivel.
Porque pode nao ser possivel? poruqe o usuario pode ter digitado …uma moeda de 30 centavos e outra de 3 … ow seja nao tem como dividir esse vaor em pilhas iguais.
MEU RACIOCINIO:
- fiz uma funçao que verifica se o total do valor nao eh primo, se este for nao tem como dividir em pilhas
- fiz um algoritmo que testa se o valor total eh divisivel por um numero e o resto dê zero, assim da pra diferenciar que 33 nao dah pra ser divisivel por 2 …mas da por 3 … e assim sucessivamente
agora eh que eu nao sei como continuar, das moedas dadas … como faço uma analise combinatoria que divida o total em pilhas iguais?
ja pensei em dividir essas “pilhas” (ideia fisica do negocio) em vetores … e em cada vetor por os devidos valores, o problema é que eu posso por no primeiro vetor valores de moedas que feche o valor esperado mas posso ficar devendo uma dessas moedas mais adiante em outra “pilha”
Exemplo: eu preciso de 3 pilhas com 11 centavos, e eu consegui em uma pilha colocar valores como:
valores : 8 + 2 + 1 + 4 + 5 + 6 + 7
pilha1: 4+6+1 =11 … com esses valores …somente uma pilha iria conter 11 …mas se eu organizasse de outra forma …as 3 pilhas poderiam existir
exemplo:
pilha1: 8+2+1 =11
pilha2: 5+6 = 11
pilha3:7+4 = 11
BOM GALERA, ESSE EH MEU PROBLEMA: COMO FAZER UM ALGORITMO QUE VERIFIQUE TODAS ESSAS POSSIBILIDADES? COMO FAÇO UM ALGORIMTO QUE POR MAIS QUE UMA DAS PILHAS TENHA DADO CERTO …FAÇA UMA REANALIZE PARA JOGAR VALOR DE UMA PILHA PARA OUTRA PARA QUE SE FORMEM CORRETAMENTE AS 3 PILHAS (NESSE CASO) ???
alguem consegue me dar uma luz? peloamordedeus???