LỚP 12A5 - TỨ KỲ HẢI DƯƠNG
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
TIN TỨC CẬP NHẬT

Thuật Toán giải ma phương (ma trận kì ảo)

4 posters

Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by pkt_zz 6/9/2010, 12:01 am


Nguồn:http://www.prlh.info/forum/showthread.php/1854-Thu%E1%BA%ADt-To%C3%A1n-gi%E1%BA%A3i-ma-ph%C6%B0%C6%A1ng?p=11347
Hồi đó thích chơi trò này lắm đây. Giờ hết hứng rồi. he'he'. Post lên cho anh em tham khảo ra đường không bị thiên hạ khè. Bài này copy từ internet. Rất dễ hiểu. :a19:

Ma phương là một ma trận vuông được tạo ra từ một dãy số nguyên liên tiếp, trong đó tổng các phần tử nằm trên mỗi hàng, mỗi cột và đường chéo chính đều có giá trị như nhau gọi là hằng số ma phương (c = (n3 + n)/2). Chính vì tính chất quái đản này mà người ta đã gọi nó là magic square (hình vuông ma thuật). Ma phương đã được biết đến từ rất lâu như trong Hà Đồ, Lạc Thư của người Hoa cổ (650 năm trước CN). Và sau đó đã trở thành một đề tài thú vị trong toán học. Hiện tại người ta đã biết đến rất nhiều loại ma phương và các đồ hình biến hóa của chúng. Trong bài viết này Pearl sẽ trình bày về cách thiết lập các ma phương lẻ và ma phương chẵn.
Thiết Lập Ma Phương Lẻ:
+ Cách 1: 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.
Sau đây là minh họa cho một ma phương cấp 5
Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare1

+ Cách 2: Cách này đơn giản là các bạn vẽ một hình vuông lưới với số ô vuông dọc ngang bằng cấp ma phương muốn thiết lập. Sau đó chúng ta sẽ tiến hành đánh số. Số nhỏ nhất trong dãy (thường người ta bắt đầu từ 1) vào ô giữa hàng đầu tiên. Các số tiếp theo sẽ đi theo hướng chéo lên. Nếu như ra khỏi ô hình vuông thì sẽ bắt đầu ở ô phía đối diện hàng / cột nằm trên / bên phải ô phát xuất (Để đơn giản hơn các bạn cứ tưởng tượng như các ô vuông được nối liền với nhau và khi đường đi ra khỏi hình vuông ta sẽ cuộn dọc / hay ngang hình vuông lại để tạo đường đi tiếp). Nếu như gặp “chướng ngại vật” (các ô đã có số) thì ta sẽ đi xuống 1 bước rồi lại đi chéo. Nói khá linh tinh, các bạn nhìn vào đường đi của ma phương cấp 5 sau sẽ rõ hơn.
Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare2

Từ số 1 ta đi chéo lên theo đường mũi tên số 1 sẽ đi ra ngoài hình vuông. Ta cuộn dọc hình vuông ghép mí cạnh trên và dưới lại thì đánh được số 2 ở ô bên phía đối diện hàng bên phải. Từ số 2 đi lên số 3 bình thường theo hướng chéo lên. Đến số 3 lại nằm ở rìa cạnh bên phải. Ta lại cuộn ngang hình vuông ghép mí trái, phải lại thì đánh được số 4. Cứ thế đi bình thường đến số 5 do có số 1 chắn nên ta đi lui xuống 1 hàng rồi đi tiếp.
Cái này nếu mới làm thì chậm chứ làm vài lần thì quen tay nên nhanh lắm. Thử làm vài cái cấp 7, 9, 11,…
Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare3

Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare4

Thiết Lập Ma Phương Chẵn

Có thể dùng 1 trong 2 quy tắc như trên cho mọi ma phương lẻ nhưng ma phương chẵn thì phức tạp hơn và chia 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.

Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare5

Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare6



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.
Cuối cùng ta sẽ được 1 ma phương hoàn chỉnh.

Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare7


+ Đối với ma phương cấp 4n + 2. Ta sẽ chia nhỏ hình vuông ra các ô lớn. Mỗi ô lớn có 2 ô dọc, 2 ô ngang. Sau đó thì tiến hành đi các ô lớn như cách di chuyển khi thiết lập ma phương lẻ. Kết hợp với quy tắc đi riêng cho các ô nhỏ (quy tắc LUX). Trong đó 1 ma phương sẽ có tổng cộng n + 1 dòng L, 1 dòng U và n – 1 dòng X. Luôn có 1 chữ U ở trung tâm ma phương nên nó sẽ hoán đổi vị trí với L trên nó.

Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare8

Sau đây là các cách đi theo các chữ L, U, X.
Thử áp dụng cho ma phương cấp 10. Lúc này ta có n = 2 nên sẽ có n + 1 = 3 dòng chữ L, 1 dòng chữ U và n – 1 = 1 dòng chữ X. Ta thực hiện đi kết hợp phương pháp lập ma phương lẻ với quy tắc LUX.

Thuật Toán giải ma phương (ma trận kì ảo) MagicSquare9

Tham khảo:
Một vài đặc tính của ma phương (GS. Tô Đồng)
pkt_zz
pkt_zz
THƯỢNG TƯỚNG V
THƯỢNG TƯỚNG V

Tổng số bài gửi : 1029
Join date : 15/12/2009
Age : 32
Đến từ : MẠC XÁ-QUANG PHỤC

https://lop12a5thpttk-0609.forumvi.com

Về Đầu Trang Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Re: Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by Trang_Pham 1/10/2010, 7:28 pm

Biết thế này thì cái lúc học ma trận chắc mình đc 10 , mất
Trang_Pham
Trang_Pham
THƯỢNG TƯỚNG V
THƯỢNG TƯỚNG V

Tổng số bài gửi : 616
Join date : 18/09/2010
Age : 32
Đến từ : Vietnam

Về Đầu Trang Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Re: Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by nguoihaichanbka1991 11/10/2010, 10:23 am

ái chà thuật toán này phức tạp quá. Nếu Tuy giải được thuật toán này hay như vậy thì hãy giải luôn giúp mình thuật toán này đi
Viết chương trình tính chu vi và diện tích của tam giác ABC(theo đơn vị độ) khi biết độ dài ba cạnh của tam giác là a,b,c. Giá trị của a,b,c là kiểu thực và được nhập vào từ bàn phím(giả sử là khi nhập giá trị của a,b,c luôn thỏa mãn là độ dài 3 cạnh tam giác).
Nhớ đây là thuật toán nhá.
nguoihaichanbka1991
nguoihaichanbka1991
A5 FAMILY
A5 FAMILY

Tổng số bài gửi : 134
Join date : 25/12/2009
Age : 37
Đến từ : DHBK Ha Noi

Về Đầu Trang Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Re: Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by dohongthang 13/10/2010, 12:04 am

coppy xong lại pase. chán.

dohongthang
A5 FAMILY
A5 FAMILY

Tổng số bài gửi : 50
Join date : 24/12/2009
Age : 32
Đến từ : AN PHONG-QUANG PHUC-TU KI-HAI DUONG

Về Đầu Trang Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Re: Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by pkt_zz 13/10/2010, 2:32 pm

Ha ha. 3 ngày code xong bài ma phương. Còn nghĩ ra thuật toán thì em xin chịu. Nó xuất phát cách đây mấy chục,mấy trăm năm rồi.
pkt_zz
pkt_zz
THƯỢNG TƯỚNG V
THƯỢNG TƯỚNG V

Tổng số bài gửi : 1029
Join date : 15/12/2009
Age : 32
Đến từ : MẠC XÁ-QUANG PHỤC

https://lop12a5thpttk-0609.forumvi.com

Về Đầu Trang Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Re: Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by pkt_zz 13/10/2010, 2:34 pm

Hãy xem lại định nghĩa: thuật toán là gì, thuật giải là gì đã.
pkt_zz
pkt_zz
THƯỢNG TƯỚNG V
THƯỢNG TƯỚNG V

Tổng số bài gửi : 1029
Join date : 15/12/2009
Age : 32
Đến từ : MẠC XÁ-QUANG PHỤC

https://lop12a5thpttk-0609.forumvi.com

Về Đầu Trang Go down

Thuật Toán giải ma phương (ma trận kì ảo) Empty Re: Thuật Toán giải ma phương (ma trận kì ảo)

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết