Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Alguém poderia me ajudar nesta questão de algoritimo?

Construa um algoritmo que simule a operação de saque em um caixa eletrônico de um banco. O usuário informa um valor qualquer em reais e o sistema do caixa eletrônico (neste caso, o seu algoritmo!) deve calcular o menor número possível de notas de R$ 100,00, R$ 50,00, R$ 20,00, R$ 10,00 e R$ 5,00. Por fim, o algoritmo deve escrever os valores calculados.

1 resposta
solução!

Eai man blz Eu consegui fazer em Python desse jeito desse jeito Basicamente fiz dois arrays o primeiro com as notas disponíveis e o segundo com as notas usadas e coloquei em um loop com umas verificações. Não sei se essa é a melhor solução mas foi a que encontrei ^^ Edit: Esqueci de considerar a nota de 2 e isso cagou td kkkk mas acho que encontrei uma solução

//Valor que o usuario quer retirar
valor = int(raw_input('Quanto deseja retirar ? '))

//Notas disponiveis
notasD = [100, 50, 20, 10, 5]

//Notas usadas
notasU = [0, 0, 0, 0, 0]

i = int(0)

//Valor da soma
valorS = int(0)
while True:
    if(valorS + notasD[i] > valor):
        i += 1
    else:
        if(valor - (valorS + notasD[i]) != 1):
            valorS += notasD[i]
            if(valorS == valor):
                notasU[i] += 1
                break
            else:
                notasU[i] += 1
        else:
            i += 1
print 'Notas de 100 -> '+str(notasU[0])
print 'Notas de 50 -> '+str(notasU[1])
print 'Notas de 20 -> '+str(notasU[2])
print 'Notas de 10 -> '+str(notasU[3])
print 'Notas de 5 -> '+str(notasU[4])
print 'Notas de 2 -> '+str(notasU[5])