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])