carlos

Páginas: 4 (914 palabras) Publicado: 13 de abril de 2013
Un Rompecabezas cripto-aritmético.
Un ejemplo popular de un rompecabezas cripto-aritmético es

DONALD
+ GERALD
ROBERT

El problema aquí es asignarle dígitos decimales a cada unade las letras D, O, N, etc. de manera que la suma sea válida. Todas las letras deben tener asignado un dígito diferente, de otra forma la solución trivial del problema es que todas las letras seaniguales a cero.

Aquí se definió la siguiente relación

sum(N1, N2, N)

donde N1, N2 y N representan los tres valores para el rompecabezas cripto-aritmético. La meta de sum(N1, N2, N) esverdadera cuando los dígitos asignados a las letras demuestran que N1 + N2 = N.

El primer paso para encontrar la solución es decidir como representar los números N1, N2 y N en el programa. Una forma dehacerlo es representar cada número como una lista de dígitos decimales. Por ejemplo el número 225 podría representarse como la lista [2,2,5]. Como estos dígitos no son conocidos desde un principio,una variable no instanciada puede almacenar cada dígito. Usando esta representación, el problema puede representarse como sigue:

[D,O,N,A,L,D]
+ [G,E,R,A,L,D]
[R,O,B,E,R,T]

Latarea es encontrar una instancia de las variables D,O,N, etc. para la cuál la suma es válida. Cuando la relación sum está programada el rompecabezas puede ser representado en Prolog por medio delpredicado:

sum([D,O,N,A,L,D],[G,E,R,A,L,D],[R,O,B,E,R,T])

Para definir la relación de suma en una lista de dígitos, tenemos que definir las reglas actuales para la relación de suma en el sistemadecimal. La suma es hecha dígito por dígito empezando por los dígitos de más a la derecha, continuando hacia la izquierda y tomando en cuenta el acarreo de dígitos a la derecha, es necesarios tambiénmantener un conjunto de los dígitos disponibles, esto es, los dígitos que no han sido usados para instanciar a las variables encontradas. Por lo general a un lado de los tres números N1, N2 y N ,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Carlos
  • Carlos
  • Carlos
  • carlos
  • carlos
  • Carlos
  • Carl
  • Carlos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS