Vous avez peut-être vu celui-ci dans Die Hard: With a Vengeance ... Cette question est basée sur le célèbre Jug Puzzle de 3 et 5 litres, mais avec une inclinaison légèrement différente.
Montez un code qui, lorsqu'il est donné un entier entre 1 et 100, vous fournira les instructions les plus rapides pour mesurer dans un réservoir, le nombre correspondant de litres d'eau d'une fontaine, en utilisant un pot de 3 litres et un pot de 5 litres.
Il n'y a pas de gradations sur les deux cruches; la fontaine est abondante en eau et le réservoir est censé être vidé au début de chaque exécution du code.
Vous ne pouvez pas accéder à l'eau du réservoir une fois qu'elle entre dans le réservoir.
Le format d'exécution est le suivant:
Contribution:
4
par exemple.
Production
Sortez chaque étape numérotée, comme indiqué, suivi d'un décompte des volumes du pichet 5L, du pichet 3L et du réservoir. Format de comptage également indiqué ci-dessous. Le nombre d'étapes doit également être sorti à la fin des étapes.
1) Fill 5L jug
5L: 5, 3L: 0, T: 0
2) Pour from 5L jug into 3L jug
5L: 2, 3L: 3, T: 0
3) Empty 3L jug
5L: 2, 3L: 0, T: 0
4) Pour from 5L jug into 3L jug
5L: 0, 3L: 2, T: 0
5) Fill 5L jug
5L: 5, 3L: 2, T: 0
6) Pour from 5L jug into 3L jug
5L: 4, 3L: 3, T: 0
7) Pour from 5L jug into tank
5L: 0, 3L: 3, T: 4
Volume measured out in 7 turns
Exemple 2
Contribution: 8
Production:
1) Fill 5L jug
5L: 5, 3L: 0, T: 0
2) Pour from 5L jug into tank
5L: 0, 3L: 0, T: 5
3) Fill 3L jug
5L: 0, 3L: 3, T: 5
4) Pour from 3L jug into tank
5L: 0, 3L: 0, T: 8
Volume measured out in 4 turns
Conventions
Fill xL jug
- remplit la cruche associée vers le haut depuis la fontaineEmpty xL jug
- vide le contenu de la cruche associée dans la fontainePour from xL jug into yL jug
- Verse le contenu de la verseuse xL dans la verseuse yLPour from xL jug into tank
- Verse le contenu du pichet xL dans le réservoir
Le code le plus court gagne.