[Thuật toán] Ma phương – Magic square

Trong toán vui, một ma trận kì ảo bậc n (còn gọi là ma phương hay hình vuông ma thuật) là một cách sắp xếp n² số, thường là các số nguyên phân biệt, trong một bảng vuông sao cho tổng n số trên mỗi hàng, cột, và đường chéo đều bằng nha Ma trận kì ảo chuẩn chứa các số nguyên từ 1 đến n².

Tồn tại ma trận kì ảo chuẩn cho mọi bậc n ≥ 1 trừ n = 2. Ma trận kì ảo bậc 1 là trường hợp tầm thường, nó chứa duy nhất 1 ô với giá trị 1. Trường hợp không tầm thường có kích thước nhỏ nhất là ma trận kì ảo bậc 3.

Hằng số là tổng của mỗi hàng, cột, và đường chéo được gọi là hằng số kì ảo. Giá trị này của ma trận kì ảo chuẩn chỉ phụ thuộc vào n và có giá trị

M = frac{n(n^2+1)}{2}.

Với các ma trận kì ảo bậc n = 3, 4, 5, …, các hằng số kì ảo tương ứng là: 15, 34, 65, 111, 175, 260, …

Cách lập Ma phương lẻ:
Vẽ một hình vuông chính với các ô lưới bên trong với số dòng và cột như ma phương mốn thiết lập. Sau đó vẽ thêm các ô vuông phụ từ 4 cạnh theo kểu tháp ta được một hình phụ. Sau đó các bạn đánh số liên tiếp trên các ô vuông nằm trên đường chéo của hình mới này. Sau đó chuyển các số trên các ô vuông phụ vào trong hình vuông chính trong đó các số ở ngoài cùng bên phía trái qua ô vuông trống phía ngoài cùng bên đối diện của hình vuông chính.
Chẳng hạn xét một ma phương cấp 5
 
ma phương

Một ma phương thì có nhiều lời giải cho nó, ví dụ như ma phương cấp 3
ma phương

Ma phương có 2 loại: ma phương chẵn và ma phương lẻ:

Cách lập Ma phương lẻ:

Số 1 luôn viết ở ô chính giữa của dòng 1.
Khi mũi tên đi ra ngoài 1 cạnh thì sẽ đi vào cạnh đối diện với cạnh đó (xem vòng màu lam và vòng màu đỏ)
Khi mũi tên gặp góc trên cùng bên phải (ở đây là ô chứa số 15) thì sẽ chạy xuống ô nằm ngay bên dưới (Vòng màu lục)
Khi mũi tên gặp 1 ô đã có số trong đó rồi (Vòng màu vàng, ô chứa số 1) thì sẽ đi xuống ô nằm ngay bên dưới.Cứ như thế cho đến khi hết các ô trong ma phương.

ma phuong

Cách lập Ma phương chẵn:

Nói chung là phức tạp hơn ma phương lẻ và ta chia chúng ra 2 loại là ma phương cấp 4n (n >= 1) và cấp 4n + 2 (n >= 1).
Đối với ma phương cấp 4n thì chỉ cần chia hình vuông ra làm các nhóm nhỏ mỗi nhóm có 4 dòng, 4 cột. Vẽ tất cả các đường chéo chính của các nhóm nhỏ này. Sau đó thì ta tiến hành đánh số từ trái qua phải, từ trên xuống dưới đối với các ô nằm trên các đường chéo.
ma phương

Sau đó ta lại đánh số từ phải sang trái, từ dưới lên trên đối với các ô còn lại.
ma phương

Bài viết có tham khảo tại: mathvn.com