Magični kvadrat je matrica dimenzija n x n čiji su elementi brojevi, čiji se zbir svih brojeva u svakoj koloni, svakom redu i u oba dijagonalna reda jednak.
Postoji biblioteka u Python-u za generisanje i proveru magičnih kvadrata. Ova biblioteka omogućava kreiranje različitih tipova magičnih kvadrata korišćenjem različitih brojeva, uključujući i pare brojeve, i pruža funkcije za proveru da li neki kvadrat zadovoljava kriterijume magičnosti.
pip install magic_square
PyPi.
Funkcija magic_square
kreira magični kvadrat pomoću sledećeg procesa:
-
Proverava da li je uneti broj n paran. Ukoliko jeste, funkcija vraća poruku da unesete neparan broj.
-
Inicijalizuje matricu
magic_square
sa nulama dimenzija n x n. -
Postavlja početnu vrednost
magic_number
na 1 i poziciju prvog broja u matricimagic_square
na vrh srednje kolone. -
U petlji se pomeraju pozicije u matrici
magic_square
koristeći sledeći algoritam: ako se dođe do kraja matrice, idemo na početak matrice, a ako se dođe do zauzetog polja, idemo na sledeće. -
Ukoliko se dođe do slobodnog polja, postavlja se
magic_number
i inkrementira se za 1.
Funkcija print_magic_square
ispisuje (prikazuje) matricu magic_square
u komandnoj konzoli.