Nu este clar cine a venit pentru prima dată cu un pătrat magic. Există o poveste despre o inundație uriașă în China cu mult timp în urmă. Oamenii erau îngrijorați că vor fi spălați și au încercat să potolească zeul râului făcând sacrificii. Nimic nu părea să funcționeze până când un copil nu a observat o broască țestoasă care avea un pătrat magic pe spate, care continua să încerce sacrificiul. Piața le-a spus oamenilor cât de mare trebuie să fie sacrificiul lor pentru a se salva. De atunci pătratele magice au fost înălțimea modei pentru orice broască țestoasă.
În cazul în care nu ați întâlnit niciodată unul anterior, un pătrat magic este un aranjament de numere secvențiale într-un pătrat, astfel încât rândurile, coloanele și diagonalele să se adauge la același număr. De exemplu, un pătrat magic 3x3 este:
Acest exercițiu de programare se referă la crearea de pătrate magice de dimensiuni impare (adică, dimensiunea pătratului poate fi doar un număr impar, 3x3, 5x5, 7x7, 9x9 și așa mai departe). Trucul cu crearea unui astfel de pătrat este de a plasa numărul 1 în primul rând și coloană de mijloc. Pentru a găsi unde să plasați următorul număr, deplasați-vă în diagonală în sus spre dreapta (adică, un rând în sus, o coloană peste). Dacă o astfel de mișcare înseamnă că ai căzut din pătrat, înfășoară-te în rândul sau coloana din partea opusă. În cele din urmă, dacă mutarea te duce într-un pătrat care este deja umplut, du-te înapoi la pătratul inițial și deplasează-te în jos câte unul. Repetați procesul până când toate pătratele sunt umplute.
Acum, diagonală mișcarea în sus rezultă într-un pătrat care este deja umplut, așa că ne întoarcem la locul de unde am venit și abandonăm un rând: