Red de conocimiento informático - Conocimiento de la instalación - Al buscar el algoritmo del "Tabla de regresión de Baizi", el código puede ser lenguaje C#, VB, JAVA o C.

Al buscar el algoritmo del "Tabla de regresión de Baizi", el código puede ser lenguaje C#, VB, JAVA o C.

Según diferentes métodos de construcción, los cuadrados mágicos se pueden dividir en tres categorías: cuadrados mágicos de orden impar, cuadrados mágicos de orden 4M y cuadrados mágicos 4M de orden 2, donde M es un número natural y los cuadrados mágicos de 2 orden no existen. . Los principales métodos de construcción del cuadrado mágico son: método del péndulo continuo, método del trapezoide (método de pasos), método de rombos separados pares e impares, método de simetría, método de diagonal, método de ampliación proporcional, método Strech, método LUX, método Laeroy (base cuadrada y raíz) composición de cuadrados), incrustación, multiplicación y patrones de cuadrados mágicos.

Método de construcción de cuadrados mágicos de orden impar

El método siamés (Kraitchik 1942, pp. 148-149) es un método para construir cuadrados mágicos de orden impar, como se muestra a continuación:

Pon 1 en el medio de la primera línea.

Coloca números iguales en orden en las celdas superiores derechas.

Cuando la celda superior derecha esté fuera de límites, ingresa por el otro lado.

Cuando la cuadrícula superior derecha esté llena de números, los números se colocarán en el cuadrado directamente debajo.

Sigue los pasos anteriores hasta llenar todos los N2 cuadrados.

(Debido a la simetría del cuadrado mágico, la dirección de la esquina superior derecha también se puede cambiar a las direcciones de la esquina inferior derecha, la esquina superior izquierda y la esquina inferior izquierda)

Tome el cuadrado mágico de quinto orden como ejemplo. 1 completa la posición (1, 3) (la tercera columna de la primera fila 2 debe completar la celda en su esquina superior derecha, es decir (0, 4); ); y dado que tanto 1 como 2 llenan la posición (1, 3), entonces 2 debe llenarse en la celda en la esquina superior derecha, es decir (0, 4), (0, 4). 4) excede el borde superior, ingresa desde la siguiente fila, es decir (5, 4 ); 3 complete la celda de la esquina superior derecha de (5, 4); 3 complete el cuadrado directamente debajo (5, 4); 4) Complete la celda (4, 5) en la esquina superior derecha; 4 se completa en la celda (3, 6) en la esquina superior derecha de (4, 5) ya que (3, 6) excede el límite derecho. , comienza desde Ingrese la columna más a la izquierda, es decir (3, 1 se completa en la esquina superior derecha de (4, 5) en la celda (3, 6), (3, 5 se completa); la esquina superior derecha de (3, 1) Celda (2, 2) debe llenarse en el cuadrado (1, 3) ya ocupado por 1, así que complete la celda (3, 2) directamente debajo de (2, 2); ); siga el método anterior hasta completar Todos los números.

Construcción de cuadrados mágicos de orden par

Construcción de cuadrados mágicos de orden 4M

Para cuadrados mágicos de orden 4M, generalmente utilizamos el método de emparejamiento, que Es muy fácil de hacer. Por ejemplo, el método de disposición del cuadrado mágico de cuarto orden:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

Ordene como se muestra arriba y luego alinee los números en la diagonal no principal y la subdiagonal alrededor del centro para obtener la siguiente imagen:

1 15 14 4

12 6 7 9

8 10 11 5

13 3 2 16

Solución 4M al 2do orden del cuadrado mágico

Método para agregar aristas

Tomando el sexto orden como ejemplo, primero organice el cuadrado mágico de cuarto orden de acuerdo con la imagen de arriba y luego agregue cada número en la imagen a 8m 2 = 10

11 25 24 14

22 16 17 19

18 20 21 15

23 13 12 26

en Agregue un círculo de cuadrícula alrededor del perímetro, organice y estos números en la cuadrícula alrededor del perímetro, organice 1 a 8M 2 y 4m * 4m 8m 3 a (4m 2) * (4m 2) en la cuadrícula alrededor del perímetro, pero haz esto La suma de dos números relativos es igual a 16m(m 1) 5.

Con estas fórmulas y algoritmos podemos utilizar lenguajes de programación para implementarlo

En primer lugar, este es un cuadrado mágico de décimo orden, es decir, debemos usa 4M de segundo orden Para lograrlo, usa el modelo del cuadrado mágico, donde M = 2;

Y primero debemos encontrar 4*2, que es el cuadrado mágico de octavo orden, y luego ponerlo en

A continuación se muestra un algoritmo en lenguaje C compilado por mí:

#include "stdio.h"

{

if(i= j||i=(9-j ))

contine;

else

{

int necesidad=0

necesita=arr[ i][j];

arr[i][j]=arry[9-i][9-j];

arry [9-i][9-j ]=necesidad

}

}

for(int i=1;ilt;9;i)

{

p>

for(int j=1;jlt;9;j)

{

arr[i][j ]=arr[i][j] 18

}

}

int a[18], b[18]; p> int q=1, w=83;

for(int i=0; ilt; 18; i)

{

a[i]=q; /p>

b[i]= w;

q ;

w

}

para(int i =1; ilt; 9; i )

{

para(int j=1;jlt;9;j)

{

if(j=8)

printf("d\n", arr[i][j]);

else

printf(" d\n", arr[i][j ])

}

}

for(int i=0;ilt;18;i)

{

printf("d\n", a[i]);

printf("d\n", b[i); ]);

}

}

Como no tengo un compilador de C, solo puedo darte el código no verificado de esta manera, y Tengo que explicar que compilé esto en 8* También te doy la fórmula para el cuadrado mágico de una matriz bidimensional de 8. Tal vez la respuesta sea diferente a la tuya, pero puedes verificarla. La razón por la que no agregué los otros dos lados es porque no pensé en una mayor optimización. Hay dos formas de realizar los 4M del cuadrado mágico. Solo puedo dejar los números de los otros dos lados para generar. deje que otros los completen. Y eso es todo lo que puedo hacer. Escribí durante mucho tiempo, pero aun así lo hice menos, pero no es perfecto. Aunque no es perfecto, sólo puede ser así.