Historias
Slashboxes
Comentarios
 

Login Barrapunto

Login

[ Crear nueva cuenta ]

fernand0 (25)

fernand0
  (email no mostrado públicam.)
http://barrapunto.com/~fernand0/bitacora

Me han dicho que ponga algo aqui, que tal vez alguien quiera leerlo. El problema es que no creo que ninguna información sobre mi pueda ser interesante salvo, quizas, lo que aparece en http://barrapunto.com/journal.pl?op=display

Down Kill Up Publicidad

Martes, 12 de Septiembre 2006

Resolver sudokus en Python

09:29h.
Python
Ya lo decía Joel en Can Your Programming Language Do This? (o eso es lo que entendía yo): todo se puede hacer en todos los lenguajes, pero hay lenguajes que ayudan mas que otros (y, como corolario, siempre es posible hacer programas en cualquier lenguaje como si fuera ensamblador -o C-).

El caso es que Peter Norvig (apóstol del Lisp y de otras cosas 'esotéricas', además de empleado de Google) nos propone Solving Every Sudoku Puzzle.

Un poco de estructuras de datos interesantes, un poco de programación basada en restricciones (recuerden Programación basada en restricciones en Python y unas cien líneas de código.
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Más que empleado

    (Puntos:2)
    por Draco (3721) el Martes, 12 Septiembre de 2006, 09:35h (#810474)
    ( Última bitácora: Lunes, 22 Febrero de 2016, 07:16h )
    Es Director of Research, nada menos. Lo vi hace algún tiempo en su página pero no me lo leí, ahora puede que le eché un vistazillo...
    --

    Programs should be written for people to read, and only incidentally for machines to execute

  • Yo lo hice en C

    (Puntos:2)
    por azaras (16275) el Martes, 12 Septiembre de 2006, 09:43h (#810481)
    ( Última bitácora: Miércoles, 10 Marzo de 2010, 15:16h )
    De forma chapucilla y me llevó más o menos las mismas lineas.

    Claro que no usé técnicas tan sofisticadas. El mio prueba todas las posibilidades de manera recursiva. Es un ejemplo de recursividad típico.

    --
    omnia sunt communia
  • ¡¡¡100 lineas!!!

    (Puntos:2)
    por dchana (7166) el Martes, 12 Septiembre de 2006, 20:43h (#810802)
    ( http://www.txana.net/ | Última bitácora: Viernes, 11 Julio de 2008, 13:07h )
    Pero ¿cómo que 100 líneas en Python y otras tantas simliras en C, como indicar otro lector? No quiero trolear, pero a principio de curso estuve haciendo un programilla en Java para resolver Sudokus... por fuerza bruta.

    La aproximación consistía en crear una matriz de 9x9 elementos, y empezar en la primera casilla con el primer número disponible (por ejemplo, el 1). Tras poner un número, se comprobaba (fila/columna/recuadro) si era correcto, y si lo era avanzaba al siguiente. Si no, retrocedía y aumentaba en uno el número erróneo. Así, hasta completar el Sudoku.

    La solución puede parecer poco elegante, pero tengo que decir que era muy muy rápida... y lo mejor de todo, no tenía más que unas ¿50 líneas? Me gustaría haberlo puesto por aquí, pero tuve problemas con el Eclipse y al reinstalarlo se me borraron todos los pequeños proyectos que tenía guardados :(

    --
    CATS: ALL YOUR BASE ARE BELONG TO US
    txana [txana.net]