Red de conocimiento informático - Conocimiento de la instalación - Ideas de programación para encontrar Sudoku

Ideas de programación para encontrar Sudoku

He usado macros EXCEL para compilar, pero el algoritmo no es muy bueno. Es bastante simple de hacer, pero raro no es bueno.

La idea es la siguiente:

Crear una matriz de área")

c, d representa la posición en una matriz 33 específica ("área" específica)

Entonces cada X específica representa una posición de espacio específica

Cada X es inicialmente =123456789

El valor de

Ahora no sé qué número son los espacios restantes, pero puedo sepa qué número no puede estar en un espacio específico (de acuerdo con las reglas)

paso1

Así que verifique cada espacio por separado

Elimine los números imposibles de 123456789 (por Por ejemplo, esta área ya existe 1, 4, 5, entonces eliminaremos el 1, 4, 5 en otros espacios del área) Elimina 5 y se convertirá en 2, 3, 6, 7, 8, 9)

De esta manera, el número de dígitos en X se vuelve cada vez más pequeño

Cuando la longitud de X es igual a 1 Entonces este espacio es único

paso2

Verifique cuántos unos hay en los 9 números en cada área. Si solo hay 1, entonces qué espacio que contiene 1 es 1 (1-9, probado en secuencia), (las filas o columnas también deben probarse por separado).

paso3

Compruebe si cada número es menor que 10, en caso contrario

Compruebe si cada número ha cambiado después del paso 1 y el paso 2. Si es así, repita el paso 1 y. paso 2. Si no (significa que la solución solo se puede resolver siguiendo los pasos anteriores), finalice el ciclo.

Lo acabo de inventar para ayudarme a resolver el problema. pero si lo usas, puedes resolver muchos números. Si lo miras, puedes resolverlo rápidamente.

Si debes inventarlo, al final también lo he pensado. /p>

Luego busca un número de 2 dígitos en Número A

Espero que te ayude