Ruby :: Aufgabe #78 :: Lösung #1
2 Lösungen

#78
Das Briefmarkenproblem
Anfänger - Ruby
von ElPapito
- 07.05.2015 um 21:02 Uhr
Schreibe ein Programm, welches den Nutzer solange auffordert einen Betrag in Cent einzugeben, bis dieser größer oder gleich 20 und durch 5 teilbar ist. Dem Benutzer soll bei falscher Eingabe eine passende Fehlermeldung ausgegeben werden.
Dieser Betrag soll nun mit so wenig Briefmarken wie möglich ausgezahlt werden. Hierzu stehen allerdings nur 10 Cent und 25 Cent Briefmarken zur Verfügung.
Beispiele:
35 Cent = 1 * 25 Cent + 1 * 10 Cent
55 Cent = 1 * 25 Cent + 3 * 10 Cent
80 Cent = 2 * 25 Cent + 3 * 10 Cent
95 Cent = 3 * 25 Cent + 2 * 10 Cent
Dieser Betrag soll nun mit so wenig Briefmarken wie möglich ausgezahlt werden. Hierzu stehen allerdings nur 10 Cent und 25 Cent Briefmarken zur Verfügung.
Beispiele:
35 Cent = 1 * 25 Cent + 1 * 10 Cent
55 Cent = 1 * 25 Cent + 3 * 10 Cent
80 Cent = 2 * 25 Cent + 3 * 10 Cent
95 Cent = 3 * 25 Cent + 2 * 10 Cent
#1

von qwwyzq (120 Punkte)
- 09.06.2015 um 21:23 Uhr

BRIEFMARKE1 = 25 BRIEFMARKE2 = 10 puts "----------" puts "Bitte geben Sie einen Betrag ein" puts "----------" eingabe = gets.chomp.to_f while eingabe == false if eingabe >= 20 and eingabe % 5 == 0 return true elsif eingabe < 20 puts "Der Betrag ist zu klein" elsif eingabe % 5 != 0 puts "Der Betrag ist nicht durch fuenf teilbar" else puts "Keine gueltige Eingabe" end end wert = 0 marke1 = 0 marke2 = 0 while wert != eingabe if wert + BRIEFMARKE1 < eingabe tmp = wert + BRIEFMARKE1 if tmp < eingabe wert += BRIEFMARKE1 marke1 += 1 end else wert += BRIEFMARKE2 marke2 += 1 end end puts "#{eingabe} Cent = #{marke1} * 25 Cent + #{marke2} * 10 Cent"
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1