Ma Phương
Nguyễn Trường Đức Trí
Dântộc Shang chia thế giới làm chín phần. Chính giữa là vương quốc của họ. Nhữngphần khác là núi, sa mạc và những vùng đất con người chưa biết đến. Nếu vịhoàng đế giữ cho phần đất của mình luôn hoà bình và thịnh vượng, thượng đế sẽlàm cho những phần đất còn lại phải cùng làm việc để xây dựng một thếgiới hoàn thiện.
Saunày, người Trung Quốc sử dụng sáng kiến này để xây dựng nên ma phương số.Nếu mỗi ô vuông đứng đúng vị trí của nó, thì các hàng ngang, dọc, chéo đều có tổnggiống nhau. Đây là dấu hiệu của một thế giới hoàn thiện. Chúng ta không biếtmỗi số phải đứng ở đâu. Nhưng nếu một phần của thế giới đứng sai vị trí thì cảthế giới sẽ bị lộn xộn.
Nhiệmvụ của chúng ta là sắp xếp các số theo trật tự của nó để tạo thành một thế giớihoàn thiện.
Các khái niệm về maphương
Trướckhi bắt đầu công việc của mình, chúng ta phải nắm một số khái niệm:
-Ma phương số cấp n là một hình vuông gồm n2 số nguyên khác nhau đượcsắp xếp sao cho tổng các số theo hàng ngang, cột dọc, hoặc theo đường chéo làbằng nhau, và bằng một hằng số gọi là hằng số ma của hình vuông.
Ma phương gọi là chuẩn khi n2 số là n2 sốnguyên dương đầu tiên.
Ngườita chứng minh được rằng hằng số ma của ma phương chuẩn cấp n là
Tronggiới hạn của bài viết này, tôi chỉ xin trình bày những hiểu biết của mình vềcách xây dựng một ma phương chuẩn cấp n.
Thuật toán và cách giải ma phương bậc n
Chắc các bạn ai cũng biết các giải ma phương bậcba, năm, bảy các số lẻ theo toán học. Chúng ta sẽ vẽ thêm các tháp vào 4 cạnhcủa hình vuông như sau:
Sau đó điền các số trên các tháp vào hình vuông.Cách giải này chắc ai cũng biết nên tôi xin không nhắc lại.
Thế nhưng để môphỏng cách giải này trên máy vi tính thì ta phải mở rộng ma trận của mình vànhư thế rất tốn bộ nhớ. Ta sẽ phải làm gì với những ô không chứa số Quả là mộtlượng bộ nhớ quá lớn sẽ không được sử dụng một cách đáng giá phải không nàoTôi xin trình bày cách giải ma phương lẻ này mà không cần mở rộng mảng:
Bắt đầu số 1 sẽđứng ở hàng đầu tiên, cột chính giữa. Bạn sẽ phải đi như đi một quân cờ. Thuậttoán của chúng ta là đi lên, qua phải, nếu đụng nóc thì xuống dưới, dụngtường phải thì qua tường trái. Còn nếu bạn đi phải vào một ô đã có số rồithì xin mời bạn lùi lại chỗ cũ và xuống một ô. Xong một quá trình như vậy bạnsẽ có một ô dừng chân, hãy điền số tiếp theo vào ô đó. Thuật toán trên có thểgiúp giải bài toán ma phương bậc lẻ trở nên rất dễ dàng hơn rất nhiều mà khôngcần mở rộng mảng.
(Trường hợp số 5, lênqua phải, nhưng do ô đó đã có số 1 nên phải trở về vị trí của số 4 và xuống 1ô)
Cứ như vậy chođến khi bạn đã đi được hết mảng. Nếu làm ma phương bậc 3 bạn sẽ thu được kếtquả sau