Cum sa faci un pătrat magie

Există mai multe clasificări diferite de pătrate magice

a cincea ordine, conceput pentru a le organiza într-un fel. În carte,

numărul în piața centrală. Metoda interesantă, dar nu mai mult.







Câte pătrate sasea-comanda este încă necunoscut, dar ele sunt aproximativ 1,77 x 10 19 număr foarte mare, astfel încât nu există nici o speranță de a le conta folosind căutare exhaustivă, dar formula de calcul pătrate magice s-ar putea gândi.

A inventat o multime de moduri de a construi patrate magice. Cel mai simplu mod de a face patrate magice de ordin impar. Noi folosim metoda, care este propus pentru omul de știință francez al secolului al XVII-lea de către A. de la Luber (De La Loubère). Ea se bazează pe cinci reguli, efectul pe care îl vom uita la pătrat magică foarte simplu de 3 x 3 celule.

Regula 1. Puneți 1 în coloana din mijloc a primei linii (fig. 5.7).

Fig. 5.7. Primul număr

Regula numărul 2. Locul în continuare, dacă este posibil, într-o celulă adiacentă curentului diagonal dreapta și deasupra (fig. 5.8).

Cum sa faci un pătrat magie

Fig. 5.8. Noi încercăm să pună al doilea număr

Regula 3: În cazul în care noua celulă se află în afara de sus pătrat. notați numărul cel mai mic în rândul și coloana următoare (fig. 5.9).

Fig. 5.9. Am pus al doilea număr

Regula 4: Dacă celula este în afara pătratului spre dreapta. apoi să înregistreze numărul de prima coloană din linia anterioară (fig. 5.10).

Fig. 5.10. A deveni al treilea număr

Cum sa faci un pătrat magie






Regula 5. În cazul în care celula este deja ocupată. apoi un alt număr record pentru celula curentă (Fig. 5.11).

Fig. 5.11. Am pus un număr al patrulea

Apoi, trece la Regula 2 (Fig. 5.12).

Fig. 5.12. Pune numărul cincea și a șasea

Din nou, urmați instrucțiunile de 3, 4, 5, nu a întocmit întreaga piață (Fig.

Nu este, regulile sunt foarte simple și simplu, dar încă obositor pentru a aranja chiar și cele 9 numere. Cu toate acestea, știind algoritmul pentru construirea patrate magice, putem realoca cu ușurință computerul toate lucrările de rutină, lăsând doar el însuși de creație, care este de a scrie un program.

Cum sa faci un pătrat magie

Fig. 5.13. Umpleți pătrat următoarele numere

Pătrate Proiectul Magic (Magic)

Set câmpuri pentru programul Pătrate Magic este destul de evident:

// PROGRAM PENTRU GENERATOARE

// patrate magice ODD

// METODA DE LA Lubero

clasa publică parțială Form1. formular

// max. Dimensiunea pătrat: const int MAX_SIZE = 27; // var

int n = 0; // ordinul pătrat int [,] MQ; // pătrat magie

int număr = 0; // numărul actual de intrări în piață

Cum sa faci un pătrat magie

int col = 0; // curent coloană rând int = 0; // linie curenta

Metoda de la Lubero adecvate pentru prepararea pătratelor impare de orice dimensiune, astfel încât să putem oferi utilizatorului posibilitatea de a alege ordinea de pătrat, este rezonabil în timp ce limitează libertatea de alegere a celulelor 27-D.

Odată ce utilizatorul face clic pe butonul Generare prețuită btnGen. Metoda btnGen_Click creează o matrice pentru a stoca numere și merge pentru a genera metode:

// apăsați „Generate“

privat void btnGen_Click (expeditor obiect, EventArgs e)

n = (int) udNum.Value;

mq = new int [n + 1, n + 1];

// Generați pătrat magie: genera ();

Aici începem să acționăm în conformitate cu regulile de la Lubero și scrie primul număr - unul - în mijlocul primei celule a barei pătrat (sau matrice, dacă doriți):

// Genera magie pătrat nule genera ()

// primul număr: numărul = 1;

// prima coloană pentru numărul - mediu: col = n / 2 + 1;

// string pentru prima zi - primul: rând = 1;

// introducerea acestuia într-un pătrat: mq [rând, col] = număr;

Acum am parcat în mod constant pentru restul celulelor - de la două până la n * n:

// trece la numărul următor: