lunes, 16 de julio de 2007

Novoku y Onzoku

Así hemos bautizado a estos dos primos (lejanos) del Sudoku, extraídos de "Juegos de Ingenio II" de Ken Russell y P.Carter.

El Novoku: escribe estas 16 cifras en un cuadrado de 4x4 de forma que los números de 4 cifras que se forman en cada fila y cada columna sean múltiplos de 9. El original pedía que lo fueran "en los dos sentidos" si bien nosotros os quitamos esa limitación (somos así de... ¿buenos?)

1, 1, 1, 2, 3, 4, 5, 5, 6, 6, 7, 7, 7, 8, 9, 9

El Onzoku: misma cuadrícula, 4x4, y sistema pero conseguir que todos los números en filas y columnas sean múltiplos de 11, en este caso usando estas cifras...

0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 8, 8, 9, 9

Por cierto, si quiero quitar un uno del "Novoku" (que ya hay muchos), ¿por qué cifra lo debo sustituir para que siga teniendo solución?

10 comentarios:

sandra dijo...

Novoku

1116
4527
5967
8397

Juan Luis Roldán dijo...

¡Perfecto Novoku, Sandra! En el libro venía otra solución así que al menos hay dos...

Víctor dijo...

Hombre, tanto como dos... Haciendo trampas(haciendo un programilla que te vaya sacando soluciones), sólo empezando con 1116 ya hay chopotocientasmil soluciones(todo esto si no me he equivocado en el programilla, chi lo sa...). Por poner ejemplos así al azar:
1, 1, 1, 6,
9, 8, 3, 7,
6, 5, 9, 7,
2, 4, 5, 7

o

1, 1, 1, 6,
3, 8, 9, 7,
7, 4, 2, 5,
7, 5, 6, 9

o

1, 1, 1, 6,
4, 3, 9, 2,
6, 7, 9, 5,
7, 7, 8, 5

etc,etc. Y sí... hacer trampas le quita gracia a la cosa pero...

Por cierto, en el onzoku solo hay 15 cifras.

Juan Luis Roldán dijo...

Gracias, Víctor, efectivamente faltaba un 8 del onzoku, gracias por el aviso...

Pues sí que hay soluciones...

Interesante lo del programa. ¿Con qué lo haces? No me parece trampa pues hay que saber generarlo...

Víctor dijo...

Escribí un pequeño script en Python, que no es la solución óptima en rendimiento(en C habría sido más rápido), pero que sin embargo es muy fácil de programar.
No creas que tiene misterio. Tenemos 16 números, 16! combinaciones. Ale, a probar. Hay que hacer un poco de heurística porque no vamos a probar combinación por combinación, que son unas 20.000.000.000.000, pero bueno encaminándolo un poquillo se van sacando.
También hay que hacer un poco de filtro por las repeticiones de los números, esto es, el 7 está 3 veces, por lo tanto cada solución te la sacará de "6 formas distintas" (3!, contando con que los demás no se mueven. Hablando en función de los 7), aunque nosotros la veamos igual. Y más veces por los demás números, etc, etc

Juan Luis Roldán dijo...

Muchas gracias, Victor, no conocía ese lenguaje...

merfat dijo...

Onzoku

1881
9339
2684
5027

Por cierto, leídos en orden inverso también debieran ser divisibles por 11 en este caso.
Saludos,
merfat

Juan Luis Roldán dijo...

Perfecto, Merfat, un viejo problema que ya se puede tachar de la lista

Rodolfo dijo...

Ya sé que llego un poco tarde, pero he hecho un programa para buscar soluciones que además cumplan las condiciones para las diagonales. Si los resultados son correctos hay 180 soluciones para el novoku y 144 para el onzoku, en ambos casos con las condición adicional de las
diagonales, y sin contar cuadrados equivalentes por giros o simetrías (si se cuentan hay que multiplicar por 8). Pongo el primero de cada tipo:

1 1 1 6
3 7 9 8
7 5 6 9
7 5 2 4

0 1 4 3
5 6 9 8
1 2 3 2
7 8 9 8

En cuanto a la pregunta del final, que creo que nadie la ha respondido, el 1 hay que cambiarlo cuidando que la suma total siga siendo múltiplo de 9, o sea que hay que sumarle 9 (y se cambia por el 10), 18 (y se cambia por el 19), etc.

Juan Luis dijo...

Nunca es tarde, Rodolfo, cuando la solución es buena...

¡Qué cantidad de soluciones! Y además con las diagonales y sin tener en cuenta las variaciones por giros o simetrías.

En cuanto a lo de quitar el 1, es correcto lo que dices aunque como en los problemas sólo aparecían números de una cifra yo me planteaba que no era posible, ya que, efectivamente nos iríamos al 10. ¿O al -8, :)?