"""Een bedrag gepast betalen met zo min mogelijk euromunten. Invoer: het bedrag tussen 0 en 500 eurocent Uitvoer: de minimale betaling met euromunten in tabelvorm Restricties: er zijn voldoende munten van iedere soort, ongebruikte muntsoorten niet vermelden """ __author__ = 'Tom Verhoeff (TUE)' __date__ = '2003/01/04' __version__ = '2.0' ## Vraag de invoer op. bedrag = input ( 'Geef bedrag tussen 0 en 500 eurocent: ' ) #@ 0 <= bedrag <= 500 ## Doorloop de muntsoorten in dalende volgorde en ## gebruik ze zo vaak mogelijk om het bedrag te passen. ## Schrijf voor elke gebruikte muntsoort een regel in de tabel. #@ inv: 0 <= bedrag <= 500 #@ geschreven deel van betaling + bedrag = invoerbedrag for munt in 200, 100, 50, 20, 10, 5, 2, 1 : aantal = 0 #@ inv: geschreven deel van betaling + aantal*munt + bedrag = invoerbedrag while bedrag >= munt : # munt kan (nogmaals) gebruikt worden aantal = aantal + 1 bedrag = bedrag - munt #@ bedrag < munt, dus munt kan niet (vaker) gebruikt worden if aantal > 0 : # munt is inderdaad gebruikt print aantal, 'x', munt assert bedrag == 0 # dus invoerbedrag is volledig betaald