Adott két különböző méretű vödör, valamint az, hogy melyik vödröt kell először megtölteni. Határozd meg, hány műveletre van szükség egy pontos litermennyiség kiméréséhez úgy, hogy a folyadékot stratégikusan átöntöd a vödrök között.
A megoldásodnak be kell tartania néhány szabályt:
A programod a következő bemeneteket kapja:
A programodnak meg kell határoznia:
Megjegyzés: ha bármelyik vagy mindkét vödör állapota megváltozik, az egy (1) műveletnek számít.
Példa: Az első vödörbe legfeljebb 7 liter fér, a másodikba pedig legfeljebb 11 liter. Tegyük fel, hogy egy adott lépésnél az első vödörben 7 liter, a másodikban 8 liter van (7,8). Ha kiüríted az első vödröt, és a másodikat nem változtatod meg, így 0, illetve 8 liter marad (0,8), az egy műveletnek számít. Ha viszont az első vödörből addig öntöttél volna a másodikba, amíg az meg nem telik, aminek eredményeként 4 liter lesz az első vödörben és 11 liter a másodikban (4,11), az szintén csak egy műveletnek számítana.
Egy másik példa: Az első vödörbe 3 liter fér, a másodikba pedig legfeljebb 5 liter. Az utasítás szerint az első vödörrel kell kezdened. Tehát az első műveleted az első vödör megtöltése. Második műveletként úgy döntesz, hogy kiüríted az első vödröt. A harmadik műveletnél nem töltheted meg a második vödröt, mert ez megsértené a harmadik szabályt: egyetlen művelet után sem kerülhetsz olyan állapotba, ahol a kezdő vödör üres, a másik pedig tele van.
<3-tel írta Lindsay Levine a Fullstack Academy szervezésében.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Julia nyelvet 35 fogalom128 feladat segítségével, valódi emberi mentorálással, mindez ingyen.