МЕТОДЫ ПОСТРОЕНИЯ МАГИЧЕСКИХ КВАДРАТОВ
Часть III
МЕТОД МОСКОПУЛА (ХОД КОНЁМ)
Цитата из [2]:
“В методе византийского учёного Москопула, как в индийском методе, указывается некоторый алгорифм последовательного заполнения клеток основного квадрата числами от 1 до n2. Порядок заполнения клеток по этому способу такой же, как порядок обегания шахматной доски конём, двигающимся вверх и направо. Поэтому метод Москопула иногда называется также методом коня”.
Правила для метода Москопула очень просты. Изложу их по Постникову.
1. Если порядок квадрата n не кратен 3, то число 1 вписывается в любую ячейку квадрата; если порядок квадрата n кратен 3, то число 1 вписывается в середину нижней строки.
2. Последовательно вписываем числа в естественном порядке, двигаясь ходом шахматного коня вверх и направо. Как только число выходит за пределы квадрата, перенесём его в эквивалентную ячейку внутри квадрата.
3. Если ячейка, в которую должно быть вписано число z+1, уже занята другим числом, то вписываем число z+1 в ячейку, расположенную в том же вертикальном ряду, что и ячейка с числом z, но находящуюся на четыре ячейки выше.
Проиллюстрирую построение магического квадрата 5-ого порядка методом Москопула (рис. 1). Это точная копия иллюстрации из [2]. Такая же иллюстрация построения квадрата 5-ого порядка приведена в [1].
|
|
|
21 |
|
|
|
6 |
|
|
|
|
|
12 |
25 |
8 |
16 |
4 |
|
18 |
|
14 |
22 |
10 |
11 |
24 |
7 |
20 |
3 |
|
17 |
5 |
13 |
21 |
9 |
17 |
23 |
6 |
19 |
2 |
15 |
23 |
4 |
12 |
25 |
8 |
16 |
|
10 |
18 |
1 |
14 |
22 |
|
Рис. 1
Примечание: об эквивалентной ячейке было сказано при описании индийского метода. Но там не было случая такого расположения числа вне квадрата, как расположено число 4 на рис. 1. В таком случает число надо сначала сместить вниз на n ячеек (оно окажется точно справа от квадрата), а затем сместить его влево на n ячеек (оно окажется в эквивалентной ячейке внутри квадрата).
Теперь рассмотрим случай другого положения числа 1 (рис. 2):
6 |
|
|
|
|
|
|
|
|
16 |
|
|
|
|
14 |
22 |
10 |
18 |
|
7 |
20 |
3 |
11 |
24 |
5 |
13 |
21 |
9 |
17 |
5 |
6 |
19 |
2 |
15 |
23 |
|
12 |
25 |
8 |
16 |
4 |
12 |
18 |
1 |
14 |
22 |
10 |
|
24 |
7 |
20 |
3 |
11 |
|
Рис. 2
Понятно, что, по-разному располагая число 1 в квадрате, мы можем построить n2 магических квадратов, но это только для порядков не кратных 3.
Рассмотрим построение магического квадрата 9-ого порядка методом Москопула. Порядок квадрата кратен 3, поэтому число 1 записывается в середину нижней строки.
|
|
|
|
|
|
|
55 |
|
|
|
|
|
10 |
|
|
|
|
|
|
|
38 |
79 |
30 |
71 |
22 |
63 |
14 |
46 |
6 |
|
58 |
18 |
50 |
|
42 |
74 |
34 |
66 |
26 |
37 |
78 |
29 |
70 |
21 |
62 |
13 |
54 |
5 |
|
57 |
17 |
49 |
9 |
41 |
73 |
33 |
65 |
25 |
57 |
77 |
28 |
69 |
20 |
61 |
12 |
53 |
4 |
45 |
77 |
16 |
48 |
8 |
40 |
81 |
32 |
64 |
24 |
56 |
16 |
36 |
68 |
19 |
60 |
11 |
52 |
3 |
44 |
76 |
36 |
47 |
7 |
39 |
80 |
31 |
72 |
23 |
55 |
15 |
47 |
67 |
27 |
59 |
10 |
51 |
2 |
43 |
75 |
35 |
67 |
6 |
38 |
79 |
30 |
71 |
22 |
63 |
14 |
46 |
|
26 |
58 |
18 |
50 |
1 |
42 |
74 |
34 |
66 |
|
Рис. 3
Для квадратов порядков кратных 3 метод Москопула тоже допускает обобщение. Для таких квадратов число 1 можно вписывать в такую ячейку, координаты которой удовлетворяют условиям: x0 = 1 (mod 3), y0 = 0 (mod 3). Понятно, что центральная ячейка нижней строки квадрата удовлетворяет этим условиям, её координаты такие: x0 = (n – 1)/2, y0 = 0. Всего же в квадрате порядка n кратного 3 будет (n/3)2 ячеек, координаты которых удовлетворяют указанному условию. Следовательно, для порядков кратных 3 методом Москопула можно построить (n/3)2 магических квадратов.
Покажу ещё один магический квадрат 9-ого порядка, построенным данным методом. Число 1 запишем в ячейку, имеющую координаты: x0 = 1, y0 = 3. Смотрите построение этого магического квадрата на рис. 4.
|
|
|
|
|
|
37 |
|
|
|
|
41 |
73 |
33 |
65 |
25 |
57 |
17 |
49 |
9 |
|
61 |
12 |
53 |
4 |
45 |
77 |
28 |
69 |
20 |
40 |
81 |
32 |
64 |
24 |
56 |
16 |
48 |
8 |
40 |
60 |
11 |
52 |
3 |
44 |
76 |
36 |
68 |
19 |
60 |
80 |
31 |
72 |
23 |
55 |
15 |
47 |
7 |
39 |
80 |
10 |
51 |
2 |
43 |
75 |
35 |
67 |
27 |
59 |
|
30 |
71 |
22 |
63 |
14 |
46 |
6 |
38 |
79 |
30 |
50 |
1 |
42 |
74 |
34 |
66 |
26 |
58 |
18 |
50 |
70 |
21 |
62 |
13 |
54 |
5 |
37 |
78 |
29 |
70 |
9 |
41 |
73 |
33 |
65 |
25 |
57 |
17 |
49 |
|
20 |
61 |
12 |
53 |
4 |
45 |
77 |
28 |
69 |
|
Рис. 4
Метод Москопула (или метод коня) я сначала прочла в [1]. У Чебракова приведён всего один пример построения магического квадрата 5-ого порядка данным методом. Мной была написана статья об этом методе, в которой приведены способы построения ходом коня идеальных магических квадратов для порядков не кратных 3 и ассоциативных магических квадратов для порядков кратных 3. Смотрите статью здесь:
http://www.klassikpoez.narod.ru/hodkonem.htm
Продублирую из этой статьи построение ассоциативного квадрата 9-ого порядка (рис. 5). В этом квадрате число 1 вписано в ячейку с координатами: x0 = 4, y0 = 6.
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
|
|
|
68 |
19 |
60 |
11 |
52 |
3 |
44 |
76 |
36 |
|
7 |
39 |
80 |
31 |
72 |
23 |
55 |
15 |
47 |
67 |
27 |
59 |
10 |
51 |
2 |
43 |
75 |
35 |
67 |
6 |
38 |
79 |
30 |
71 |
22 |
63 |
14 |
46 |
6 |
26 |
58 |
18 |
50 |
1 |
42 |
74 |
34 |
66 |
26 |
37 |
78 |
29 |
70 |
21 |
62 |
13 |
54 |
5 |
|
57 |
17 |
49 |
9 |
41 |
73 |
33 |
65 |
25 |
57 |
77 |
28 |
69 |
20 |
61 |
12 |
53 |
4 |
45 |
77 |
16 |
48 |
8 |
40 |
81 |
32 |
64 |
24 |
56 |
16 |
36 |
68 |
19 |
60 |
11 |
52 |
3 |
44 |
76 |
|
47 |
7 |
39 |
80 |
31 |
72 |
23 |
55 |
15 |
|
Рис. 5
Всего методом коня может быть построено 9 магических квадратов 9-ого порядка. Предлагаю читателям ответить на вопрос: сколько среди этих магических квадратов будет ассоциативных?
Можно рассмотреть так же построение квадратов, получающихся методом коня, с помощью двух ортогональных латинских квадратов, подобно тому, как это сделано для индийского метода и метода террас.
Очевидно, что во всех этих квадратах работает и метод качелей.
***
МЕТОД АЛЬФИЛА
Цитата из [2]:
“Метод альфила вполне аналогичен методу Москопула, только вместо хода коня в этом методе используется движение по диагонали через одну клетку (по этому закону в старинных шахматах двигался предок современного слона – так называемый альфил, от которого и происходит название метода)”.
Правила для метода альфила таковы:
1. Число 1 вписывается в ячейку с координатами (0, 1).
2. Числа вписываются в естественном порядке по восходящей диагонали через одну ячейку. Как только число выходит за пределы квадрата, переносим его в эквивалентную ячейку внутри квадрата.
3. Если ячейка, в которую должно быть вписано число z+1, уже занята, то число z+1 вписывается в ячейку, получающуюся из ячейки с числом z “удлинённым ходом шахматного коня” (иными словами: если число z находится в ячейке с координатами (x, y), то число z+1 вписывается в ячейку с координатами (x+2, y+2) при условии, что эта ячейка свободна, и в ячейку с координатами (x+1, y+3) в противном случае).
На рис. 6 показываю построение магического квадрата 5-ого порядка методом альфила. Это копия иллюстрации из [2].
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
24 |
8 |
17 |
|
15 |
|
21 |
10 |
19 |
3 |
12 |
|
23 |
7 |
16 |
5 |
14 |
23 |
7 |
9 |
18 |
2 |
11 |
25 |
9 |
18 |
20 |
4 |
13 |
22 |
6 |
20 |
4 |
1 |
15 |
24 |
8 |
17 |
|
|
12 |
21 |
10 |
19 |
3 |
|
|
Рис. 6
Очевидно, что квадрат получился ассоциативным.
В отличие от индийского метода и метода Москопула (ход конём) метод альфила не допускает обобщений. Это значит, что для любого нечётного порядка этим методом можно построить только один магический квадрат. Число 1 в этом методе всегда вписывается в ячейку с координатами (0, 1).
Посмотрите ещё построение квадрата 9-ого порядка методом альфила (рис. 7):
|
|
|
|
|
|
|
|
10 |
|
|
|
|
78 |
31 |
65 |
27 |
61 |
14 |
48 |
|
44 |
|
73 |
35 |
69 |
22 |
56 |
18 |
52 |
5 |
39 |
|
77 |
30 |
64 |
26 |
60 |
13 |
47 |
9 |
43 |
77 |
30 |
34 |
68 |
21 |
55 |
17 |
51 |
4 |
38 |
81 |
34 |
68 |
72 |
25 |
59 |
12 |
46 |
8 |
42 |
76 |
29 |
72 |
25 |
20 |
63 |
16 |
50 |
3 |
37 |
80 |
33 |
67 |
20 |
63 |
58 |
11 |
54 |
7 |
41 |
75 |
28 |
71 |
24 |
58 |
11 |
15 |
49 |
2 |
45 |
79 |
32 |
66 |
19 |
62 |
15 |
49 |
53 |
6 |
40 |
74 |
36 |
70 |
23 |
57 |
10 |
53 |
6 |
1 |
44 |
78 |
31 |
65 |
27 |
61 |
14 |
48 |
|
|
39 |
73 |
35 |
69 |
22 |
56 |
18 |
52 |
5 |
|
|
Рис. 7
Квадрат тоже получился ассоциативным.
Сравним этот квадрат с квадратом, построенным методом террас. Для более удобного сравнения повернём этот квадрат на 180 градусов (рис. 8):
5 |
52 |
18 |
56 |
22 |
69 |
35 |
73 |
39 |
48 |
14 |
61 |
27 |
65 |
31 |
78 |
44 |
1 |
10 |
57 |
23 |
70 |
36 |
74 |
40 |
6 |
53 |
62 |
19 |
66 |
32 |
79 |
45 |
2 |
49 |
15 |
24 |
71 |
28 |
75 |
41 |
7 |
54 |
11 |
58 |
67 |
33 |
80 |
37 |
3 |
50 |
16 |
63 |
20 |
29 |
76 |
42 |
8 |
46 |
12 |
59 |
25 |
72 |
81 |
38 |
4 |
51 |
17 |
55 |
21 |
68 |
34 |
43 |
9 |
47 |
13 |
60 |
26 |
64 |
30 |
77 |
Рис. 8
Продублирую квадрат, построенный методом террас (рис. 9):
5 |
46 |
15 |
56 |
25 |
66 |
35 |
76 |
45 |
54 |
14 |
55 |
24 |
65 |
34 |
75 |
44 |
4 |
13 |
63 |
23 |
64 |
33 |
74 |
43 |
3 |
53 |
62 |
22 |
72 |
32 |
73 |
42 |
2 |
52 |
12 |
21 |
71 |
31 |
81 |
41 |
1 |
51 |
11 |
61 |
70 |
30 |
80 |
40 |
9 |
50 |
10 |
60 |
20 |
29 |
79 |
39 |
8 |
49 |
18 |
59 |
19 |
69 |
78 |
38 |
7 |
48 |
17 |
58 |
27 |
68 |
28 |
37 |
6 |
47 |
16 |
57 |
26 |
67 |
36 |
77 |
Рис. 9
В обоих квадратах начальная цепочка имеет одинаковую диагональную форму. Однако числа в начальных цепочках расположены по-разному. Эти ассоциативные квадраты связаны комбинированным преобразованием “плюс-минус …”. И перед вами ещё одного преобразование данного типа, сохраняющее ассоциативность квадрата (в разных статьях вы найдёте много преобразований такого типа). На рис. 10 вы видите матрицу этого преобразования.
|
-6 |
-3 |
|
+3 |
-3 |
|
+3 |
+6 |
+6 |
|
-6 |
-3 |
|
+3 |
-3 |
|
+3 |
+3 |
+6 |
|
-6 |
-3 |
|
+3 |
-3 |
|
|
+3 |
+6 |
|
-6 |
-3 |
|
+3 |
-3 |
-3 |
|
+3 |
+6 |
|
-6 |
-3 |
|
+3 |
+3 |
-3 |
|
+3 |
+6 |
|
-6 |
-3 |
|
|
+3 |
-3 |
|
+3 |
+6 |
|
-6 |
-3 |
-3 |
|
+3 |
-3 |
|
+3 |
+6 |
|
-6 |
-6 |
-3 |
|
+3 |
-3 |
|
+3 |
+6 |
|
Рис. 10
Очень симпатичное преобразование! Симметрия, обеспечивающая сохранение ассоциативности преобразуемого квадрата, очевидна. Наложите эту матрицу на квадрат с рис. 8, выполните все действия над числами, попавшими в закрашенные ячейки матрицы, и вы получите квадрат, изображённый на рис. 9.
Интересно посмотреть на квадрат, построенный методом альфила, с точки зрения метода качелей и метода латинских квадратов. Продублирую квадрат 9-ого порядка с рис. 7 (рис. 11) и выделю в нём начальную цепочку.
77 |
30 |
64 |
26 |
60 |
13 |
47 |
9 |
43 |
34 |
68 |
21 |
55 |
17 |
51 |
4 |
38 |
81 |
72 |
25 |
59 |
12 |
46 |
8 |
42 |
76 |
29 |
20 |
63 |
16 |
50 |
3 |
37 |
80 |
33 |
67 |
58 |
11 |
54 |
7 |
41 |
75 |
28 |
71 |
24 |
15 |
49 |
2 |
45 |
79 |
32 |
66 |
19 |
62 |
53 |
6 |
40 |
74 |
36 |
70 |
23 |
57 |
10 |
1 |
44 |
78 |
31 |
65 |
27 |
61 |
14 |
48 |
39 |
73 |
35 |
69 |
22 |
56 |
18 |
52 |
5 |
Рис. 11
Начальная цепочка имеет диагональную форму. Качели в квадрате работают. На рис. 12 вы видите образующую таблицу, соответствующую этому квадрату, если строить его методом качелей.
|
1 |
44 |
78 |
31 |
65 |
27 |
61 |
14 |
48 |
-5 |
6 |
40 |
74 |
36 |
70 |
23 |
57 |
10 |
53 |
4 |
2 |
45 |
79 |
32 |
66 |
19 |
62 |
15 |
49 |
-5 |
7 |
41 |
75 |
28 |
71 |
24 |
58 |
11 |
54 |
4 |
3 |
37 |
80 |
33 |
67 |
20 |
63 |
16 |
50 |
-5 |
8 |
42 |
76 |
29 |
72 |
25 |
59 |
12 |
46 |
4 |
4 |
38 |
81 |
34 |
68 |
21 |
55 |
17 |
51 |
-5 |
9 |
43 |
77 |
30 |
64 |
26 |
60 |
13 |
47 |
4 |
5 |
39 |
73 |
35 |
69 |
22 |
56 |
18 |
52 |
|
k=0 |
k=4 |
k=8 |
k=3 |
k=7 |
k=2 |
k=6 |
k=1 |
k=5 |
Рис. 12
Всё чётко, как и должно быть в методе качелей.
А теперь вспоминаем связь между методом качелей и методом латинских квадратов. Используя эту связь, очень просто составляем первый латинский квадрат, соответствующий магическому квадрату с рис. 11. В первой строке этого квадрата надо записать, как уже знают читатели, номера циклов качания качелей из последней строки образующей таблицы. Понятно, что число 0 надо записать в ячейке, соответствующей ячейке, содержащей число из начальной цепочки – это число 9. Далее каждая строка первого латинского квадрата получается циклическим сдвигом с постоянным шагом. На рис. 13 вы видите готовый первый латинский квадрат.
8 |
3 |
7 |
2 |
6 |
1 |
5 |
0 |
4 |
3 |
7 |
2 |
6 |
1 |
5 |
0 |
4 |
8 |
7 |
2 |
6 |
1 |
5 |
0 |
4 |
8 |
3 |
2 |
6 |
1 |
5 |
0 |
4 |
8 |
3 |
7 |
6 |
1 |
5 |
0 |
4 |
8 |
3 |
7 |
2 |
1 |
5 |
0 |
4 |
8 |
3 |
7 |
2 |
6 |
5 |
0 |
4 |
8 |
3 |
7 |
2 |
6 |
1 |
0 |
4 |
8 |
3 |
7 |
2 |
6 |
1 |
5 |
4 |
8 |
3 |
7 |
2 |
6 |
1 |
5 |
0 |
Рис. 13
Этот латинский квадрат является нетрадиционным ассоциативным магическим квадратом с магической константой 36. В магическом квадрате на рис. 11 и в первом латинском квадрате выделены раскраской три цикла качания качелей. Соответствие очевидно.
Второй латинский квадрат нахожу как дополнение к первому латинскому квадрату, используя разложение исходного магического квадрата. Вы видите этот латинский квадрат на рис. 14.
4 |
2 |
0 |
7 |
5 |
3 |
1 |
8 |
6 |
6 |
4 |
2 |
0 |
7 |
5 |
3 |
1 |
8 |
8 |
6 |
4 |
2 |
0 |
7 |
5 |
3 |
1 |
1 |
8 |
6 |
4 |
2 |
0 |
7 |
5 |
3 |
3 |
1 |
8 |
6 |
4 |
2 |
0 |
7 |
5 |
5 |
3 |
1 |
8 |
6 |
4 |
2 |
0 |
7 |
7 |
5 |
3 |
1 |
8 |
6 |
4 |
2 |
0 |
0 |
7 |
5 |
3 |
1 |
8 |
6 |
4 |
2 |
2 |
0 |
7 |
5 |
3 |
1 |
8 |
6 |
4 |
Рис. 14
Этот латинский квадрат тоже является нетрадиционным ассоциативным магическим квадратом с магической константой 36. Однако я не вижу, как из первого латинского квадрата можно получить второй латинский квадрат.
Интересно отметить, что если второй латинский квадрат получить из первого отражением относительно горизонтальной оси симметрии и построить с помощью этой пары ортогональных латинских квадратов магический квадрат, то получится магический квадрат эквивалентный магическому квадрату, построенному методом террас (см. рис. 9). Проверьте!
Попутно покажу магический квадрат, который получается из пары ортогональных латинских квадратов с рис. 13 и рис. 14, если их поменять местами в формуле для построения магического квадрата (рис. 15).
45 |
22 |
8 |
66 |
52 |
29 |
15 |
73 |
59 |
58 |
44 |
21 |
7 |
65 |
51 |
28 |
14 |
81 |
80 |
57 |
43 |
20 |
6 |
64 |
50 |
36 |
13 |
12 |
79 |
56 |
42 |
19 |
5 |
72 |
49 |
35 |
34 |
11 |
78 |
55 |
41 |
27 |
4 |
71 |
48 |
47 |
33 |
10 |
77 |
63 |
40 |
26 |
3 |
70 |
69 |
46 |
32 |
18 |
76 |
62 |
39 |
25 |
2 |
1 |
68 |
54 |
31 |
17 |
75 |
61 |
38 |
24 |
23 |
9 |
67 |
53 |
30 |
16 |
74 |
60 |
37 |
Рис. 15
На основе этого магического квадрата можно создать вариант метода альфила. В этом варианте число 1 записывается так же в ячейку с координатами (0, 1). Числа записываются по восходящей диагонали другого направления и не через ячейку, а в каждой ячейке подряд. Если ячейка оказывается уже занятой, то число вписывается так же “удлинённым ходом шахматного коня”. Попробуем построить магический квадрат седьмого порядка, применяя новый вариант метода альфила (рис. 16):
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
7 |
17 |
34 |
44 |
12 |
22 |
11 |
28 |
38 |
6 |
16 |
33 |
43 |
11 |
49 |
10 |
27 |
37 |
5 |
15 |
32 |
49 |
31 |
48 |
9 |
26 |
36 |
4 |
21 |
31 |
20 |
30 |
47 |
8 |
25 |
42 |
3 |
20 |
2 |
19 |
29 |
46 |
14 |
24 |
41 |
2 |
40 |
1 |
18 |
35 |
45 |
13 |
23 |
40 |
|
39 |
7 |
17 |
34 |
44 |
12 |
22 |
Рис. 16
Мы получили магический ассоциативный квадрат. Вариант метода альфила является методом современного шахматного слона или методом короля (и слон и король могут ходить на одну клетку по диагонали).
Вернёмся к основному методу альфила. Поскольку реализовать построение с помощью двух ортогональных латинских квадратов здесь не удаётся (не знаю, как получить второй латинский квадрат из первого), буду использовать метод качелей.
Сначала построю магический квадрат 11-ого порядка методом качелей (магический квадрат должен получиться точно таким, как если бы он был построен методом альфила). Для этого, прежде всего, сформирую образующую таблицу (рис. 17):
|
1 |
59 |
117 |
54 |
101 |
38 |
96 |
33 |
80 |
17 |
75 |
-6 |
7 |
65 |
112 |
49 |
107 |
44 |
91 |
28 |
86 |
12 |
70 |
5 |
2 |
60 |
118 |
55 |
102 |
39 |
97 |
23 |
81 |
18 |
76 |
-6 |
8 |
66 |
113 |
50 |
108 |
34 |
92 |
29 |
87 |
13 |
71 |
5 |
3 |
61 |
119 |
45 |
103 |
40 |
98 |
24 |
82 |
19 |
77 |
-6 |
9 |
56 |
114 |
51 |
109 |
35 |
93 |
30 |
88 |
14 |
72 |
5 |
4 |
62 |
120 |
46 |
104 |
41 |
99 |
25 |
83 |
20 |
67 |
-6 |
10 |
57 |
115 |
52 |
110 |
36 |
94 |
31 |
78 |
15 |
73 |
5 |
5 |
63 |
121 |
47 |
105 |
42 |
89 |
26 |
84 |
21 |
68 |
-6 |
11 |
58 |
116 |
53 |
100 |
37 |
95 |
32 |
79 |
16 |
74 |
5 |
6 |
64 |
111 |
48 |
106 |
43 |
90 |
27 |
85 |
22 |
69 |
|
k=0 |
k=5 |
k=10 |
k=4 |
k=9 |
k=3 |
k=8 |
k=2 |
k=7 |
k=1 |
k=6 |
Рис. 17
Теперь переношу числа из образующей таблицы в матрицу для квадрата (рис. 18):
116 |
53 |
100 |
37 |
95 |
32 |
79 |
16 |
74 |
11 |
58 |
47 |
105 |
42 |
89 |
26 |
84 |
21 |
68 |
5 |
63 |
121 |
110 |
36 |
94 |
31 |
78 |
15 |
73 |
10 |
57 |
115 |
52 |
41 |
99 |
25 |
83 |
20 |
67 |
4 |
62 |
120 |
46 |
104 |
93 |
30 |
88 |
14 |
72 |
9 |
56 |
114 |
51 |
109 |
35 |
24 |
82 |
19 |
77 |
3 |
61 |
119 |
45 |
103 |
40 |
98 |
87 |
13 |
71 |
8 |
66 |
113 |
50 |
108 |
34 |
92 |
29 |
18 |
76 |
2 |
60 |
118 |
55 |
102 |
39 |
97 |
23 |
81 |
70 |
7 |
65 |
112 |
49 |
107 |
44 |
91 |
28 |
86 |
12 |
1 |
59 |
117 |
54 |
101 |
38 |
96 |
33 |
80 |
17 |
75 |
64 |
111 |
48 |
106 |
43 |
90 |
27 |
85 |
22 |
69 |
6 |
Рис. 18
Предлагаю читателям построить квадрат 11-ого порядка методом альфила и убедиться, что он совпадёт с квадратом, построенным методом качелей (рис. 18).
Теперь буду составлять программу. Как составлять начальную цепочку для любого нечётного порядка n, вы можете увидеть из нескольких конкретных примеров начальных цепочек:
n=9: 1 6 2 7 3 8 4 9 5
n=11: 1 7 2 8 3 9 4 10 5 11 6
n=13: 1 8 2 9 3 10 4 11 5 12 6 13 7
n=15: 1 9 2 10 3 11 4 12 5 13 6 14 7 15 8
и т. д.
Закономерность очевидна.
В программе я ограничусь формированием образующей таблицы со смещением чисел в столбцах. Мне лень организовывать циклы и выполнять смещения чисел для приведения образующей таблицы к правильному виду. А так же не хочется писать блок переноса чисел из образующей таблицы в матрицу для магического квадрата (для этого надо сделать смещения чисел в строках образующей таблицы).
Программа написана и выполнена. Покажу образующую таблицу для магического квадрата 13-ого порядка, выданную программой:
1 85 163 72 150 59 137 46 124 33 111 20 98
8 79 157 66 144 53 131 40 118 27 105 14 92
2 86 164 73 151 60 138 47 125 34 112 21 99
9 80 158 67 145 54 132 41 119 28 106 15 93
3 87 165 74 152 61 139 48 126 35 113 22 100
10 81 159 68 146 55 133 42 120 29 107 16 94
4 88 166 75 153 62 140 49 127 36 114 23 101
11 82 160 69 147 56 134 43 121 30 108 17 95
5 89 167 76 154 63 141 50 128 37 115 24 102
12 83 161 70 148 57 135 44 122 31 109 18 96
6 90 168 77 155 64 142 51 129 38 116 25 103
13 84 162 71 149 58 136 45 123 32 110 19 97
7 91 169 78 156 65 143 52 130 39 117 26 104
В первом столбце стоит начальная цепочка, здесь всё правильно, ничего не надо смещать. А вот в следующих столбцах образующей таблицы числа смещены. В последней строке стоят максимальные числа каждого столбца (они выделены красным цветом). На рис. 19 покажу правильную образующую таблицу, я получила её, просто сместив числа в столбцах “неправильной” образующей таблицы, которую выдала программа.
|
1 |
89 |
164 |
70 |
145 |
64 |
139 |
45 |
120 |
39 |
114 |
20 |
95 |
-7 |
8 |
83 |
158 |
77 |
152 |
58 |
133 |
52 |
127 |
33 |
108 |
14 |
102 |
6 |
2 |
90 |
165 |
71 |
146 |
65 |
140 |
46 |
121 |
27 |
115 |
21 |
96 |
-7 |
9 |
84 |
159 |
78 |
153 |
59 |
134 |
40 |
128 |
34 |
109 |
15 |
103 |
6 |
3 |
91 |
166 |
72 |
147 |
53 |
141 |
47 |
122 |
28 |
116 |
22 |
97 |
-7 |
10 |
85 |
160 |
66 |
154 |
60 |
135 |
41 |
129 |
35 |
110 |
16 |
104 |
6 |
4 |
79 |
167 |
73 |
148 |
54 |
142 |
48 |
123 |
29 |
117 |
23 |
98 |
-7 |
11 |
86 |
161 |
67 |
155 |
61 |
136 |
42 |
130 |
36 |
111 |
17 |
92 |
6 |
5 |
80 |
168 |
74 |
149 |
55 |
143 |
49 |
124 |
30 |
105 |
24 |
99 |
-7 |
12 |
87 |
162 |
68 |
156 |
62 |
137 |
43 |
118 |
37 |
112 |
18 |
93 |
6 |
6 |
81 |
169 |
75 |
150 |
56 |
131 |
50 |
125 |
31 |
106 |
25 |
100 |
-7 |
13 |
88 |
163 |
69 |
144 |
63 |
138 |
44 |
119 |
38 |
113 |
19 |
94 |
6 |
7 |
82 |
157 |
76 |
151 |
57 |
132 |
51 |
126 |
32 |
107 |
26 |
101 |
|
k=0 |
k=6 |
k=12 |
k=5 |
k=11 |
k=4 |
k=10 |
k=3 |
k=9 |
k=2 |
k=8 |
k=1 |
k=7 |
Рис. 19
Осталось перенести числа из образующей таблицы в матрицу для магического квадрата. Как знают читатели, это простое смещение чисел в строках образующей таблицы. На рис. 20 вы видите готовый магический квадрат 13-ого порядка. Он такой же, как если бы вы строили его методом альфила. Таким образом, я заменила метод альфила методом качелей.
163 |
69 |
144 |
63 |
138 |
44 |
119 |
38 |
113 |
19 |
94 |
13 |
88 |
75 |
150 |
56 |
131 |
50 |
125 |
31 |
106 |
25 |
100 |
6 |
81 |
169 |
156 |
62 |
137 |
43 |
118 |
37 |
112 |
18 |
93 |
12 |
87 |
162 |
68 |
55 |
143 |
49 |
124 |
30 |
105 |
24 |
99 |
5 |
80 |
168 |
74 |
149 |
136 |
42 |
130 |
36 |
111 |
17 |
92 |
11 |
86 |
161 |
67 |
155 |
61 |
48 |
123 |
29 |
117 |
23 |
98 |
4 |
79 |
167 |
73 |
148 |
54 |
142 |
129 |
35 |
110 |
16 |
104 |
10 |
85 |
160 |
66 |
154 |
60 |
135 |
41 |
28 |
116 |
22 |
97 |
3 |
91 |
166 |
72 |
147 |
53 |
141 |
47 |
122 |
109 |
15 |
103 |
9 |
84 |
159 |
78 |
153 |
59 |
134 |
40 |
128 |
34 |
21 |
96 |
2 |
90 |
165 |
71 |
146 |
65 |
140 |
46 |
121 |
27 |
115 |
102 |
8 |
83 |
158 |
77 |
152 |
58 |
133 |
52 |
127 |
33 |
108 |
14 |
1 |
89 |
164 |
70 |
145 |
64 |
139 |
45 |
120 |
39 |
114 |
20 |
95 |
82 |
157 |
76 |
151 |
57 |
132 |
51 |
126 |
32 |
107 |
26 |
101 |
7 |
Рис. 20
Магический ассоциативный квадрат построен.
Конечно, в идеале надо вставить в программу блок превращения образующей таблицы в правильную (смещение чисел в столбцах) и блок превращения образующей таблицы в магический квадрат (смещение чисел в строках). Предоставляю это читателям.
Ещё предлагаю составить программу для получения группы магических квадратов, которые можно построить показанным выше вариантом метода альфила. В этих квадратах тоже работает метод качелей и можно реализовать точно так же вариант метода альфила, заменив его методом качелей. (Мы имеем ещё одно блестящее подтверждение универсальности метода качелей.)
Таким образом, методом альфила можно получить две группы ассоциативных магических квадратов любого нечётного порядка.
В заключение приведу текст программы, которая для любого нечётного порядка, начиная с n=3, выдаст вам образующую таблицу для построения магического квадрата. Этот квадрат будет ещё и ассоциативным.
ТЕКСТ ПРОГРАММЫ
(язык QBASIC)
10 OPEN "MK.txt" FOR OUTPUT AS #1
15 PRINT "VVEDITE PORYADOK KVADRATA"
20 INPUT N
25 IF N < 3 THEN 15
30 IF N / 2 - INT(N / 2) = 0 THEN 15
35 DIM A(N, N), B(N - 1), C(N - 1)
40 K = (N + 1) / 2
45 A(1, 1) = 1
50 FOR I = 3 TO N STEP 2
55 A(I, 1) = A(I - 2, 1) + 1
60 NEXT I
65 A(2, 1) = K + 1
70 FOR I = 4 TO N STEP 2
75 A(I, 1) = A(I - 2, 1) + 1
80 NEXT I
85 FOR I = 1 TO N - 1: B(I) = A(I, 1) - A(I + 1, 1): NEXT I
90 FOR J = 1 TO N - 1: C(J) = N * A(N - J + 1, 1): NEXT J
95 FOR J = 2 TO N: A(N, J) = C(J - 1): NEXT J
100 FOR J = 2 TO N
105 FOR M = N - 1 TO 1 STEP -1
110 A(M, J) = A(M + 1, J) + B(N - M)
115 NEXT M
120 NEXT J
130 FOR X = 1 TO N
135 FOR Y = 1 TO N
140 PRINT A(X, Y);
145 PRINT #1, A(X, Y);
150 NEXT Y
155 PRINT : PRINT #1,
160 NEXT X
165 PRUNT: PRINT #1,
170 CLOSE #1
180 END
Обязательно попробуйте построить по программе хоть один магический квадрат.
Сделайте аналогичную программу для предложенного варианта метода альфила.
Удачных вам построений!
***
Продолжение будет здесь:
http://www.natalimak1.narod.ru/metody4.htm
Читайте мою виртуальную книгу “Волшебный мир магических квадратов”
http://www.klassikpoez.narod.ru/glavnaja.htm
1 – 3 сентября 2008 г.
г. Саратов
ДОБАВЛЕНИЕ (15 сентября 2008 г):
В книге Чебракова в разделе “Задачи” нашла интересную иллюстрацию (см. рис. 21).
|
… |
|
... |
|
… |
|
… |
5 |
… |
|
… |
|
… |
|
… |
|
|
|
|
|
|
|
4 |
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
9 |
|
|
|
15 |
|
|
|
|
|
|
2 |
|
|
|
8 |
|
|
|
14 |
|
|
|
20 |
|
|
1 |
|
|
|
7 |
|
|
|
13 |
|
|
|
19 |
|
|
|
25 |
|
|
6 |
|
|
|
12 |
|
|
|
18 |
|
|
|
24 |
|
|
|
|
|
|
11 |
|
|
|
17 |
|
|
|
23 |
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
Рис. 21
В задаче требуется по этой иллюстрации восстановить алгоритмическое и аналитическое описания метода построения магических квадратов нечётного порядка.
Мы имеем вариант метода “ход конём”. Только ход коня здесь другой, нежели в рассмотренном выше методе. Если число 1 сразу поместить в эквивалентной ячейке квадрата, то построение будет выглядеть так (рис. 22):
|
|
|
23 |
17 |
|
10 |
4 |
|
22 |
16 |
15 |
9 |
3 |
22 |
|
|
14 |
8 |
2 |
21 |
20 |
14 |
8 |
|
1 |
25 |
19 |
13 |
7 |
|
25 |
|
18 |
12 |
6 |
5 |
24 |
18 |
12 |
11 |
10 |
4 |
23 |
17 |
11 |
|
|
Рис. 22
В этом варианте правило 3 будет таким:
3. Если ячейка, в которую должно быть вписано число z+1, уже занята другим числом, то вписываем число z+1 в ячейку, находящуюся слева от ячейки с числом z.
Построенный таким способом квадрат получается пандиагональным. При этом параллельным переносом на торе он легко превращается в идеальный квадрат. Для того чтобы квадрат сразу получился идеальным, надо вписать число 1 в середину не первого, а последнего столбца. Тогда построение будет выглядеть так (рис. 23):
|
|
17 |
|
10 |
4 |
23 |
16 |
15 |
9 |
3 |
22 |
|
15 |
8 |
2 |
21 |
20 |
14 |
8 |
2 |
25 |
19 |
13 |
7 |
1 |
25 |
19 |
12 |
6 |
5 |
24 |
18 |
12 |
|
4 |
23 |
17 |
11 |
10 |
|
|
Рис. 23
Приведу пример построения идеального квадрат 7-ого порядка таким способом (рис. 24):
|
|
38 |
30 |
|
21 |
13 |
5 |
46 |
37 |
29 |
28 |
20 |
12 |
4 |
45 |
37 |
|
27 |
19 |
11 |
3 |
44 |
36 |
35 |
27 |
19 |
10 |
2 |
43 |
42 |
34 |
26 |
18 |
10 |
2 |
49 |
41 |
33 |
25 |
17 |
9 |
1 |
49 |
41 |
32 |
24 |
16 |
8 |
7 |
48 |
40 |
32 |
24 |
15 |
14 |
6 |
47 |
39 |
31 |
23 |
|
|
5 |
46 |
38 |
30 |
22 |
21 |
13 |
|
|
Рис. 24
Как уже известно читателям, квадраты порядков кратных 3, построенные ходом коня, не получаются идеальными. Они могут получаться ассоциативными. На рис. 5 показано построение ассоциативного квадрата 9-ого порядка. Покажу построение ассоциативного квадрата 9-ого порядка рассматриваемым способом (рис. 25):
|
|
|
67 |
57 |
47 |
|
36 |
26 |
16 |
6 |
77 |
|
66 |
56 |
46 |
45 |
35 |
25 |
15 |
5 |
76 |
66 |
56 |
55 |
54 |
44 |
34 |
24 |
14 |
4 |
75 |
65 |
55 |
54 |
44 |
|
33 |
23 |
13 |
3 |
74 |
64 |
63 |
53 |
43 |
33 |
23 |
|
12 |
2 |
73 |
72 |
62 |
52 |
42 |
32 |
22 |
12 |
2 |
|
81 |
71 |
61 |
51 |
41 |
31 |
21 |
11 |
1 |
81 |
71 |
|
60 |
50 |
40 |
30 |
20 |
10 |
9 |
80 |
70 |
60 |
50 |
|
39 |
29 |
19 |
18 |
8 |
79 |
69 |
59 |
49 |
39 |
29 |
28 |
27 |
17 |
7 |
78 |
68 |
58 |
48 |
38 |
28 |
27 |
17 |
|
6 |
77 |
67 |
57 |
47 |
37 |
36 |
26 |
16 |
|
|
Рис. 25
Получился новый ассоциативный квадрат не эквивалентный квадрату с рис. 5.
***