Gegeben sind zwei unterschiedlich große Eimer und die Vorgabe, welcher Eimer zuerst gefüllt werden soll. Bestimme, wie viele Aktionen nötig sind, um eine exakte Anzahl Liter abzumessen, indem du geschickt Flüssigkeit zwischen den Eimern umfüllst.
Es gibt einige Regeln, die deine Lösung befolgen muss:
dein Programm bekommt als Eingabe:
dein Programm soll Folgendes bestimmen:
Hinweis: Jedes Mal, wenn du einen oder beide Eimer veränderst, zählt das als eine (1) Aktion.
Beispiel: Eimer eins fasst bis zu 7 Liter, und Eimer zwei fasst bis zu 11 Liter. Sagen wir, in einem bestimmten Schritt enthält Eimer eins 7 Liter und Eimer zwei 8 Liter (7,8). Wenn du Eimer eins leerst und Eimer zwei unverändert lässt, sodass du 0 Liter bzw. 8 Liter hast (0,8), zählt das als eine Aktion. Wenn du stattdessen von Eimer eins in Eimer zwei umgefüllt hättest, bis Eimer zwei voll war, sodass Eimer eins 4 Liter und Eimer zwei 11 Liter enthalten hätten (4,11), würde das ebenfalls nur als eine Aktion zählen.
Ein weiteres Beispiel: Eimer eins fasst 3 Liter, und Eimer zwei fasst bis zu 5 Liter. du sollst mit Eimer eins beginnen. deine erste Aktion ist also, Eimer eins zu füllen. Für deine zweite Aktion entscheidest du dich, Eimer eins zu leeren. Für deine dritte Aktion darfst du Eimer zwei nicht füllen, weil dies gegen die dritte Regel verstößt: Nach einer Aktion darfst du nicht in einen Zustand geraten, in dem der Starteimer leer und der andere Eimer voll ist.
Geschrieben mit <3 bei Fullstack Academy von Lindsay Levine.
Melde dich bei Exercism an, um jq mit 12 Konzepte75 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.