El acertijo matemático de la niña vietnamita Huynh Van Dong dice:
Este es un problema matemático que nos dieron en clase. Se supone que hay que llenar todas las casillas vacías con los números del 1 al 9 (solamente puedes usar cada número una vez). ¿Puedes resolverlo? Nadie aquí pudo. Nos dijeron que era para niños de 8 años, pero fue demasiado difícil hasta para nosotros de 5to grado!
Estos son los números del 1 al 3
logofe
LogoFE Cargado para FMSLogo!
muestra serie [1 1 3]
[1 2 3]
Y estas las permutaciones de 3 elementos
muestra permuconj lista 3 serie [1 1 3]
[[1 2 3] [1 3 2] [2 1 3] [2 3 1] [3 1 2] [3 2 1]]
Estos son los números del 1 al 10 y las permutaciones son bastantes. Las pondré todas en la variable c
muestra serie [1 1 9]
[1 2 3 4 5 6 7 8 9]
haz "c permuconj lista 9 serie [1 1 9]
muestra primero :c
[1 2 3 4 5 6 7 8 9]
muestra cuenta :c
362880
En Logo es posible tomar una lista de números y hacer operaciones con ellos así
muestra aplica [?1 + ?2] [10 3]
13
muestra aplica [?1 + ?2] [2 3]
5
Si las operaciones del acertijo deben hacerse en orden según la precedencia de las operaciones (multiplicaciones primero, sumas después) entonces se puede hacer esto
muestra aplica [?1 + 13 * ?2 / ?3 + ?4 + 12 * ?5 - ?6 - 11 + ?7 * ?8 / ?9 - 10] [1 2 3 4 5 6 7 8 9]
52.8888888888889
muestra aplica [?1 + 13 * ?2 / ?3 + ?4 + 12 * ?5 - ?6 - 11 + ?7 * ?8 / ?9 - 10 = 66] [1 2 3 4 5 6 7 8 9]
falso
Pero creo que las operaciones del acertijo deben hacerse en el orden en que van apareciendo, y entonces sería así
muestra aplica [(((?1 + 13) * ?2 / ?3 + ?4 + 12) * ?5 - ?6 - 11 + ?7) * ?8 / ?9 - 10] [1 2 3 4 5 6 7 8 9]
93.7037037037037
muestra aplica [(((?1 + 13) * ?2 / ?3 + ?4 + 12) * ?5 - ?6 - 11 + ?7) * ?8 / ?9 - 10 = 66] [1 2 3 4 5 6 7 8 9]
falso
Del conjunto de permutaciones c queremos solamente las permutaciones tales que, al hacerles lo anterior, dé cierto
haz "respuestas escoge [esigual lista "cierto aplica [(((?1 + 13) * ?2 / ?3 + ?4 + 12) * ?5 - ?6 - 11 + ?7) * ?8 / ?9 - 10 = 66]] :c
muestra cuenta :respuestas
144
porcada [muestra ?] :respuestas
[1 2 4 7 5 8 3 6 9]
[1 2 7 5 3 4 9 8 6]
[1 2 7 5 8 9 4 3 6]
[1 3 7 5 2 6 9 8 4]
[1 4 2 8 5 7 6 3 9]
[1 4 7 5 2 9 8 6 3]
[1 4 7 5 3 9 2 8 6]
[1 5 7 4 9 3 8 2 6]
[1 6 7 8 2 5 9 4 3]
[1 7 8 6 4 5 9 2 3]
[1 8 4 7 5 2 6 3 9]
[1 8 7 2 6 3 5 4 9]
[1 9 3 7 2 5 8 4 6]
[1 9 6 2 3 7 8 4 5]
[1 9 7 2 5 3 6 4 8]
[1 9 7 3 5 8 6 2 4]
[1 9 7 5 2 8 6 4 3]
[2 1 3 6 8 7 5 4 9]
[2 1 5 3 7 9 8 4 6]
[2 1 5 3 9 6 7 4 8]
[2 1 5 8 6 3 9 4 7]
[2 1 6 3 8 5 9 4 7]
[2 1 6 4 5 3 7 8 9]
[2 3 5 6 7 8 1 4 9]
[2 5 6 4 3 9 1 8 7]
[2 6 3 5 1 7 9 8 4]
[2 6 3 9 1 7 5 8 4]
[2 6 5 4 7 8 9 1 3]
[2 6 9 1 7 3 5 4 8]
[2 7 3 5 1 9 6 8 4]
[2 7 3 6 1 9 5 8 4]
[2 7 6 4 3 5 1 8 9]
[2 7 6 5 1 4 9 8 3]
[2 7 6 9 1 4 5 8 3]
[2 8 4 5 1 7 9 6 3]
[2 8 4 9 1 7 5 6 3]
[2 9 4 3 8 6 7 1 5]
[2 9 5 6 1 3 7 8 4]
[2 9 5 7 1 3 6 8 4]
[3 1 4 8 5 2 7 6 9]
[3 1 4 9 8 6 7 2 5]
[3 2 6 1 9 7 5 4 8]
[3 4 8 7 9 5 1 2 6]
[3 5 2 7 8 9 4 1 6]
[3 5 4 1 2 7 9 8 6]
[3 6 4 8 9 7 2 1 5]
[3 6 8 7 5 1 9 2 4]
[3 7 2 4 1 9 5 8 6]
[3 7 2 5 1 9 4 8 6]
[3 7 8 5 4 1 2 6 9]
[3 9 4 6 5 1 8 2 7]
[3 9 6 5 4 8 7 1 2]
[4 1 6 7 3 9 2 8 5]
[4 5 1 7 3 6 9 2 8]
[4 6 1 5 2 7 8 3 9]
[4 6 1 7 2 8 5 3 9]
[4 6 3 9 7 2 8 1 5]
[4 9 3 2 6 7 8 1 5]
[5 1 3 9 6 7 8 2 4]
[5 1 6 2 3 9 7 8 4]
[5 1 6 3 9 7 8 2 4]
[5 1 6 9 7 8 3 2 4]
[5 1 9 2 3 6 7 8 4]
[5 1 9 2 4 3 7 8 6]
[5 1 9 3 7 2 8 4 6]
[5 2 4 1 3 7 9 8 6]
[5 2 4 9 8 7 6 1 3]
[5 3 2 7 1 6 9 8 4]
[5 3 2 9 1 6 7 8 4]
[5 4 1 9 3 8 6 2 7]
[5 4 3 9 6 1 8 2 7]
[5 4 9 1 3 2 7 8 6]
[5 4 9 1 6 8 7 2 3]
[5 4 9 1 8 7 2 3 6]
[5 4 9 3 7 6 8 1 2]
[5 4 9 6 1 3 7 8 2]
[5 4 9 7 1 3 6 8 2]
[5 6 9 3 1 4 7 8 2]
[5 6 9 7 1 4 3 8 2]
[5 7 4 1 8 6 3 2 9]
[5 7 6 9 4 8 3 1 2]
[5 7 9 1 6 2 3 4 8]
[5 8 3 1 2 4 7 6 9]
[5 8 6 7 1 3 9 4 2]
[5 8 6 9 1 3 7 4 2]
[6 2 1 5 3 9 7 4 8]
[6 3 4 7 2 9 1 8 5]
[6 8 4 5 3 9 7 1 2]
[6 9 3 1 4 8 5 2 7]
[7 1 2 4 5 8 3 6 9]
[7 1 2 8 6 3 5 4 9]
[7 1 3 8 9 5 4 2 6]
[7 1 3 9 6 5 2 4 8]
[7 1 3 9 6 8 5 2 4]
[7 1 4 9 2 8 5 6 3]
[7 2 1 8 4 6 5 3 9]
[7 2 5 1 3 4 9 8 6]
[7 2 5 1 8 9 4 3 6]
[7 2 6 8 9 5 4 1 3]
[7 2 8 1 9 4 5 3 6]
[7 3 1 9 2 5 6 4 8]
[7 3 4 9 2 5 1 8 6]
[7 3 6 4 1 5 9 8 2]
[7 3 6 9 1 5 4 8 2]
[7 3 9 4 5 2 1 6 8]
[7 4 8 5 9 6 2 1 3]
[7 5 8 4 2 9 1 6 3]
[7 6 4 2 9 8 3 1 5]
[7 6 8 9 2 5 1 4 3]
[7 9 4 8 6 2 3 1 5]
[7 9 5 3 1 8 6 4 2]
[7 9 5 6 1 8 3 4 2]
[7 9 5 6 3 1 2 4 8]
[7 9 5 8 3 6 1 2 4]
[7 9 8 5 6 2 4 1 3]
[8 1 3 9 5 2 6 4 7]
[8 1 7 3 9 5 6 2 4]
[8 1 7 5 6 4 9 2 3]
[8 1 7 9 2 4 5 6 3]
[8 2 1 6 3 5 7 4 9]
[8 2 1 7 3 6 5 4 9]
[8 3 9 5 7 6 1 2 4]
[8 4 3 9 5 7 1 2 6]
[8 4 6 5 9 3 1 2 7]
[8 4 7 3 9 5 1 2 6]
[8 5 9 1 4 2 3 6 7]
[8 5 9 3 6 4 7 1 2]
[8 6 9 3 5 2 1 4 7]
[8 6 9 5 2 1 7 4 3]
[8 6 9 7 5 3 1 2 4]
[8 7 3 1 2 4 5 6 9]
[8 9 7 1 4 2 5 3 6]
[9 1 4 8 2 7 5 6 3]
[9 2 4 7 8 6 5 1 3]
[9 3 2 4 8 7 6 1 5]
[9 3 2 5 1 7 6 8 4]
[9 3 2 6 1 7 5 8 4]
[9 3 2 7 6 5 8 1 4]
[9 4 3 5 2 1 8 6 7]
[9 4 8 6 7 3 1 2 5]
[9 5 3 7 1 2 8 6 4]
[9 5 3 8 1 2 7 6 4]
[9 6 3 8 5 7 2 1 4]
[9 7 2 8 4 3 6 1 5]
Para ayudarme a revisar si estaba haciendo bien las cosas creé estos procedimientos de ayuda
para probar :numeros
haz "resp s (desapila "numeros) 13
haz "resp m :resp (desapila "numeros)
haz "resp d :resp (desapila "numeros)
haz "resp s :resp (desapila "numeros)
haz "resp s :resp 12
haz "resp m :resp (desapila "numeros)
haz "resp r :resp (desapila "numeros)
haz "resp r :resp 11
haz "resp s :resp (desapila "numeros)
haz "resp m :resp (desapila "numeros)
haz "resp d :resp (desapila "numeros)
haz "resp r :resp 10
si :resp = 66 [escribe [Es correcto!]]
fin
para s :a :b
(escribe :a "+ :b "= :a + :b)
devuelve :a + :b
fin
para m :a :b
(escribe :a "x :b "= :a * :b)
devuelve :a * :b
fin
para d :a :b
(escribe :a ": :b "= :a / :b)
devuelve :a / :b
fin
para r :a :b
(escribe :a "- :b "= :a - :b)
devuelve :a - :b
fin
Así puedo revisar si la primera solución realmente funciona o no
muestra primero :respuestas
[1 2 4 7 5 8 3 6 9]
probar primero :respuestas
1 + 13 = 14
14 x 2 = 28
28 : 4 = 7
7 + 7 = 14
14 + 12 = 26
26 x 5 = 130
130 - 8 = 122
122 - 11 = 111
111 + 3 = 114
114 x 6 = 684
684 : 9 = 76
76 - 10 = 66
Es correcto!
Mientras que
probar [1 2 3 4 5 6 7 8 9]
1 + 13 = 14
14 x 2 = 28
28 : 3 = 9.33333333333333
9.33333333333333 + 4 = 13.3333333333333
13.3333333333333 + 12 = 25.3333333333333
25.3333333333333 x 5 = 126.666666666667
126.666666666667 - 6 = 120.666666666667
120.666666666667 - 11 = 109.666666666667
109.666666666667 + 7 = 116.666666666667
116.666666666667 x 8 = 933.333333333333
933.333333333333 : 9 = 103.703703703704
103.703703703704 - 10 = 93.7037037037037
Este es un documento libre.
Autor: Daniel Ajoy
Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.