Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo escribir un cuadrado mágico en lenguaje C

Cómo escribir un cuadrado mágico en lenguaje C

Tu pregunta en realidad incluye dos preguntas:

1. El algoritmo del cuadrado mágico

2. Cómo implementar el algoritmo del cuadrado mágico en lenguaje C.

Estas dos cuestiones son muy diferentes.

Sobre los algoritmos de cuadrados mágicos, o métodos de llenado de cuadrados mágicos, actualmente existen muchos tipos, como ortogonal latino, pasos de caballo, etc., y existen diferentes métodos para números pares o impares (también divididos en impares). y números pares y números pares dobles), pero estos algoritmos solo te ayudan a encontrar una o más instancias del cuadrado mágico (no todas). En cuanto a cuántos cuadrados mágicos hay del mismo orden, solo puedes usar el exhaustivo. Método, como el cuadrado mágico de cuarto orden. Hay 7040 cuadrados mágicos básicos de cuarto orden, excluyendo los de rotación y volteo, es decir, 880 con estructuras independientes, hay 84 cuadrados mágicos perfectos de cuarto orden y 48 con estructuras independientes.

Para cuadrados mágicos de alto orden (como más de octavo orden), el método exhaustivo en realidad no es factible, porque su tiempo exhaustivo será astronómico (según la PC convencional actual), así que no lo intente. utilizar Sería inútil que la computadora agotara todos los resultados de los cuadrados mágicos de orden superior.

Si solo necesita un ejemplo, se recomienda utilizar la herramienta de lenguaje MATLAB, ya que proporciona la función del cuadrado mágico magic(n), que no requiere programación. Puede obtener la respuesta directamente desde. la ventana de comando.

En cuanto a la segunda pregunta, por supuesto, primero conoce el lenguaje C, y el resto es una cuestión de habilidades de programación, y esta pregunta no se puede responder. Creo que hiciste la primera pregunta.

Aunque la respuesta anterior no da una respuesta clara, creo que te será útil.