Domingo 22 de Diciembre de 2024, 12:52
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Específica
»
Inteligencia Artificial
»
Sudoku
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Sudoku (Leído 2664 veces)
Max_D
Miembro MUY activo
Mensajes: 117
Sudoku
«
en:
Martes 5 de Diciembre de 2006, 19:42 »
0
Hola, estoy intentando hacer un codigo que resuelva un sudoku 4x4 (el mas sencillo para empezar) y tengo algo escrito, mas bien el primer intento, se que hay cosas mal como que si una variable no esta instanciada no puede permanecer a la lista [1,2,3,4] pero no se por donde seguir. Si alguien tiene alguna idea me seria de gran ayuda, muchas gracias.
Código: Text
diferente(_,[]).
diferente(E,[C|R]) :- E \= C, diferente(E,R).
minisudoku([A11,A12,B11,B12,A21,A22,B21,B22,C11,C12,D11,D12,C21,C22,D21,D22]) :-
member(A11,[1,2,3,4]), member(A12,[1,2,3,4]), member(B11,[1,2,3,4]), member(B12,[1,2,3,4]),
member(A21,[1,2,3,4]), member(A22,[1,2,3,4]), member(B21,[1,2,3,4]), member(B22,[1,2,3,4]),
member(C11,[1,2,3,4]), member(C12,[1,2,3,4]), member(D11,[1,2,3,4]), member(D12,[1,2,3,4]),
member(C21,[1,2,3,4]), member(C22,[1,2,3,4]), member(D21,[1,2,3,4]), member(D22,[1,2,3,4]),
diferente(A11,[A12,B11,B12]), diferente(A11,[A21,C11,C21]), diferente(A11,[A12,A21,A22]),
diferente(A12,[A11,B11,B12]), diferente(A12,[A22,C12,C22]), diferente(A12,[A11,A21,A22]),
diferente(B11,[A11,A12,B12]), diferente(B11,[B21,D11,D21]), diferente(B11,[B12,B21,B22]),
diferente(B12,[A11,A12,B11]), diferente(B12,[B22,D12,D22]), diferente(B12,[B11,B21,B22]),
diferente(A21,[A22,B21,B22]), diferente(A21,[A11,C11,C21]), diferente(A21,[A11,A12,A22]),
diferente(A22,[A21,B21,B22]), diferente(A22,[A12,C12,C22]), diferente(A22,[A11,A12,A21]),
diferente(B21,[A21,A22,B22]), diferente(B21,[B11,D11,D21]), diferente(B21,[B11,B12,B22]),
diferente(B22,[A21,A22,B21]), diferente(B22,[B12,D12,D22]), diferente(B22,[B11,B12,B21]),
diferente(C11,[C12,D11,D12]), diferente(C11,[A11,A21,C21]), diferente(C11,[C12,C21,C22]),
diferente(C12,[C11,D11,D12]), diferente(C12,[A12,A22,C22]), diferente(C12,[C11,C21,C22]),
diferente(D11,[C11,C12,D12]), diferente(D11,[B11,B21,D21]), diferente(D11,[D12,D21,D22]),
diferente(D12,[C11,C12,D11]), diferente(D12,[B12,B22,D22]), diferente(D12,[D11,D21,D22]),
diferente(C21,[C22,D21,D22]), diferente(C21,[A11,A21,C11]), diferente(C21,[C11,C12,C22]),
diferente(C22,[C21,D21,D22]), diferente(C22,[A12,A22,C12]), diferente(C22,[C11,C12,C21]),
diferente(D21,[C21,C22,D22]), diferente(D21,[B12,B22,D12]), diferente(D21,[D11,D12,D21]),
diferente(D22,[C21,C22,D21]), diferente(D22,[B12,B22,D12]), diferente(D22,[D11,D12,D21]).
Tweet
su -
Moderador
Mensajes: 2349
Re: Sudoku
«
Respuesta #1 en:
Martes 12 de Diciembre de 2006, 01:39 »
0
Hay una cosa llamada
Quantum Superposition
que permite tener multiples valores en un string, array, hash o cualquier cosa que pueda, por ejejmplo:
Código: Text
use Quantum::Superposition;
$a = any(1, 2, 3);
en este caso $a seria 1, 2 o 3 segun el observador (Bueno, esto es en Perl) y este sistema es ideal para crear filtrados y todo este tipo de cosas de una forma rapida.
*******PELIGRO LEE ESTO!!*******
There is no place like 127.0.0.1
Conecto luego existo, no conecto luego insisto.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Específica
»
Inteligencia Artificial
»
Sudoku