Étant donné deux seaux de tailles différentes et le seau à remplir en premier, détermine combien d'actions sont nécessaires pour mesurer un nombre exact de litres en transférant stratégiquement du liquide d'un seau à l'autre.
Voici quelques règles que ta solution doit respecter :
Ton programme prend en entrée :
Ton programme doit déterminer :
Remarque : toute modification apportée à l'un des seaux ou aux deux compte comme une (1) action.
Exemple : Le seau un peut contenir jusqu'à 7 litres, et le seau deux jusqu'à 11 litres. Imaginons qu'à une étape donnée, le seau un contienne 7 litres et le seau deux 8 litres (7,8). Si tu vides le seau un sans modifier le seau deux, ce qui te laisse respectivement 0 litre et 8 litres (0,8), cela compte comme une seule action. En revanche, si tu avais versé le contenu du seau un dans le seau deux jusqu'à ce que le seau deux soit plein, ce qui donne 4 litres dans le seau un et 11 litres dans le seau deux (4,11), cela ne compterait là aussi que comme une seule action.
Autre exemple : Le seau un peut contenir 3 litres, et le seau deux jusqu'à 5 litres. On te dit que tu dois commencer par le seau un. Ta première action consiste donc à remplir le seau un. Pour ta deuxième action, tu choisis de vider le seau un. Pour ta troisième action, tu ne peux pas remplir le seau deux, car cela enfreint la troisième règle : après une action, tu ne peux pas te retrouver dans un état où le seau de départ est vide et l'autre seau est plein.
Écrit avec <3 à la Fullstack Academy par Lindsay Levine.
Inscris-toi sur Exercism pour apprendre et maîtriser Lean avec 100 exercices, et un vrai mentorat humain, le tout gratuitement.