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

2 Lösungen Lösungen öffentlich
#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
#1
vote_ok
von qwwyzq (120 Punkte) - 09.06.2015 um 21:23 Uhr
Quellcode ausblenden Ruby-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben