Problema de las jarras

En el problema de las jarras (A,B,C) se tienen dos jarras sin marcas de medición, una de A litros de capacidad y otra de B. También se dispone de una bomba que permite llenar las jarras de agua.

El problema de las jarras (A,B,C) consiste en determinar cómo se puede lograr tener exactamente C litros de agua en alguna de las dos jarras.

Definir la función

tal (jarras (a,b,c)) es una solución del problema de las jarras (a,b,c) con el mínimo número de movimientos, si el problema tiene solución y Nothing, en caso contrario. Por ejemplo,

La interpretación de la solución anterior es

Otros ejemplos:

Soluciones

5 Comentarios

  1. Una primera solución algo elaborada, larga y mejorable que toma en cuenta muchos casos.

  2. Una primera solución usando programación lógica con Prolog y recorriendo el árbol en anchura para asegurar que la primera solución encontrada sea la más corta:

    Y traducimos esta solución casi literalmente a Haskell:

Leave a Reply to jaibengueCancel reply