¿Eres un apasionado de los sudokus? ¿Te gusta el cubo de rubik pero no tiene ninguna ciencia ya para ti? Eso tiene una fácil solución.
Se trata de Rubik Sudoku, un pasatiempo en el cuál se mezcla la mecánica de los Cubos de Rubik de Ernő Rubik con la lógica de los Sudokus originarios de los trabajos de Leonhard Euler.
El juego contiene una pequeña libreta de 40 páginas con 100 puzzles a elegir, y tiene un precio de alrededor de los 8 o 9 euros.
¿Y lo tuyo qué es? ¿Pasión o Fanatismo?
Conexión a internet más rápida y veloz.
Volviendo hacia atrás en el blog algunas semanas -haciendo backtracking-, comentaba el uso de la recursividad en la programación y lo interesante que resultaba definir algo contenido en la misma definición.
El Backtracking es una técnica de programación de la que se puede partir de la definición de Recursividad (vease definición de recursividad) con la diferencia que, en el backtracking, al existir varios caminos diferentes a elegir, una vez llegado al final y no cumplirse la condición establecida, volvemos atrás para seguir buscando caminos diferentes o alternativos y posiblemente correctos.
La idea del backtracking, si aún no la has entendido, se ve bastante bien en estos ejemplos del Laberinto y las n-Damas (en Java).
Finalmente, como lo prometido es deuda, subo la práctica comentada en el anterior artículo sobre recursividad que resuelve sudokus planteados por medio de la técnica del backtracking. Recordar que no es la mejor técnica ni mucho menos para resolver Sudokus, sino prácticamente usar la fuerza bruta para resolverlos con la posibilidad de volver atrás y buscar más caminos.
El programa está realizado para Free Pascal y permite:
Hay bastante cosas que son mejorables, como por ejemplo quitar algunas variables globales o la inclusión de eliminar algunos números insertando un cero (por ejemplo), pero eso lo dejo para el que quiera modificarlo, asi como el que se anime y lo «traduzca» a otro lenguaje de programación estaré encantado en incorporarlo al artículo.
Programa para resolver sudokus en Free Pascal con algunos ficheros de ejemplo.
6 consultas efectuadas / Página generada en 0.029 segundos
Programado íntegramente por José Román (Manz) en XHTML y CSS estándar.
Sindicado bajo Feed RSS. Contenido bajo licencia Creative Commons
Estadísticas de visitas · Términos y condiciones · Contacto · Publicidad · Preguntas frecuentes (FAQ)