СОВЕРШЕННЫЕ МАГИЧЕСКИЕ КВАДРАТЫ
Часть III
В конце второй части настоящей статьи я обещала показать ещё одно свойство совершенных квадратов. Но пока отложу это на некоторое время.
В статье, с которой я работаю (ссылку см. в первой части этой статьи), очень интересно рассказано о методе построения совершенных квадратов из обратимых квадратов. Здесь и будет показан данный метод.
Сначала расскажу немного про обратимые квадраты. Это не магические квадраты. Самый простой обратимый квадрат порядка n=4k, k=1, 2, 3… строится очень просто: в матрицу nxn записываются числа от 1 до n2 по порядку, начиная с левой верхней ячейки. Например, самый простой обратимый квадрат четвёртого порядка выглядит так (рис. 1):
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Рис. 1
Я не буду здесь дублировать определение обратимых квадратов из статьи, желающие посмотрят это определение сами. В статье сказано, что для квадратов четвёртого порядка существует три принципиально различных (уникальных) обратимых квадрата. Один из них вы видите на рис. 1. В уникальном обратимом квадрате числа 1 и 2 стоят в верхней строке, и выполняется условие: в каждой строке при чтении слева направо и в каждом столбце при чтении сверху вниз числа следуют в порядке возрастания. Показываю на рис. 2 и рис. 3 два других уникальных обратимых квадрата четвёртого порядка.
1 |
2 |
5 |
6 |
3 |
4 |
7 |
8 |
9 |
10 |
13 |
14 |
11 |
12 |
15 |
16 |
Рис. 2
1 |
2 |
9 |
10 |
3 |
4 |
11 |
12 |
5 |
6 |
13 |
14 |
7 |
8 |
15 |
16 |
Рис. 3
Каждый уникальный обратимый квадрат четвёртого порядка порождает группу из 16 обратимых квадратов (считая его самого). Все 15 квадратов группы получаются из уникального квадрата различными перестановками строк и/или столбцов. В статье приведены 16 вариантов для первой группы обратимых квадратов четвёртого порядка.
Далее следует самое интересное. Установлено, что между обратимыми и совершенными квадратами существует взаимнооднозначное соответствие. Это означает, что каждый обратимый квадрат несложными преобразованиями можно превратить в совершенный и обратно. Другими словами: каждому обратимому квадрату соответствует один и только один совершенный квадрат (и наоборот). В статье показано, как превратить обратимый квадрат четвёртого порядка в совершенный квадрат. Преобразования действительно очень простые. Превращение выполняется в три этапа. Покажу здесь все три этапа подробно. В качестве исходного квадрата взят обратимый квадрат с рис. 1.
Первый этап: переставляются числа в правой половине всех 4 строк. Полученный в результате этого преобразования квадрат изображён на рис. 4.
1 |
2 |
4 |
3 |
5 |
6 |
8 |
7 |
9 |
10 |
12 |
11 |
13 |
14 |
16 |
15 |
Рис. 4
Это преобразование равносильно перестановке двух последних столбцов в исходном квадрате с рис. 1.
Второй этап: переставляются числа в нижней половине всех 4 столбцов. Получается квадрат, изображённый на рис. 5.
1 |
2 |
4 |
3 |
5 |
6 |
8 |
7 |
13 |
14 |
16 |
15 |
9 |
10 |
12 |
11 |
Рис. 5
Это преобразование равносильно перестановке двух последних строк в квадрате с рис. 4.
Третий этап: в квадрате с рис. 5 надо выполнить преобразование, которое в статье обозначено так:
Мне непонятно, что означает данное преобразование, поэтому расскажу, как именно я преобразовала квадрат с рис. 5, чтобы получить из него совершенный квадрат. Поскольку конечный результат я видела в статье (готовый совершенный квадрат), то мне легко было установить, какие преобразования выполнены. Итак, на рис. 6 вы видите те 4 числа, которые остаются в квадрате с рис. 5 на месте.
1 |
|
4 |
|
|
|
|
|
13 |
|
16 |
|
|
|
|
|
Рис. 6
Далее на рис. 7 вы видите готовый совершенный квадрат, в котором закрашены одинаковым цветом переставленные числа.
1 |
15 |
4 |
14 |
8 |
10 |
5 |
11 |
13 |
3 |
16 |
2 |
12 |
6 |
9 |
7 |
Рис. 7
Возьмите теперь второй уникальный обратимый квадрат, например, с рис. 2, и превратите его в совершенный квадрат точно таким же способом. Думаю, это не вызовет у вас никаких затруднений.
В статье сказано, что для квадратов восьмого порядка существует 10 принципиально различных (уникальных) обратимых квадратов. Но эти квадраты не приведены и процесс превращения обратимого квадрата в совершенный квадрат тоже не показан. Я решила выполнить это превращение по аналогии с квадратом четвёртого порядка. Первые два этапа выполняются совершенно аналогично. В качестве исходного квадрата я беру самый простой обратимый квадрат восьмого порядка, вы видите его на рис. 8.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
Рис. 8
В результате выполнения первого этапа преобразований (перестановка столбцов в правой половине квадрата) получаю квадрат, изображённый на рис. 9.
1 |
2 |
3 |
4 |
8 |
7 |
6 |
5 |
9 |
10 |
11 |
12 |
16 |
15 |
14 |
13 |
17 |
18 |
19 |
20 |
24 |
23 |
22 |
21 |
25 |
26 |
27 |
28 |
32 |
31 |
30 |
29 |
33 |
34 |
35 |
36 |
40 |
39 |
38 |
37 |
41 |
42 |
43 |
44 |
48 |
47 |
46 |
45 |
49 |
50 |
51 |
52 |
56 |
55 |
54 |
53 |
57 |
58 |
59 |
60 |
64 |
63 |
62 |
61 |
Рис. 9
В результате второго этапа преобразований (перестановка строк в нижней половине квадрата) получаю следующий квадрат (рис. 10):
1 |
2 |
3 |
4 |
8 |
7 |
6 |
5 |
9 |
10 |
11 |
12 |
16 |
15 |
14 |
13 |
17 |
18 |
19 |
20 |
24 |
23 |
22 |
21 |
25 |
26 |
27 |
28 |
32 |
31 |
30 |
29 |
57 |
58 |
59 |
60 |
64 |
63 |
62 |
61 |
49 |
50 |
51 |
52 |
56 |
55 |
54 |
53 |
41 |
42 |
43 |
44 |
48 |
47 |
46 |
45 |
33 |
34 |
35 |
36 |
40 |
39 |
38 |
37 |
Рис. 10
Теперь третий этап – самый сложный. В статье дана общая формула преобразования третьего этапа для квадрата любого порядка n=4m:
где k=n/2. Но, как я уже сказала, мне непонятно, как работает это преобразование, поэтому третий этап я выполняю самостоятельно, не обращая внимания на непонятную формулу преобразования. На рис. 11 вы видите числа, которые остаются в квадрате с рис. 10 на месте.
1 |
|
3 |
|
8 |
|
6 |
|
|
|
|
|
|
|
|
|
17 |
|
19 |
|
24 |
|
22 |
|
|
|
|
|
|
|
|
|
57 |
|
59 |
|
64 |
|
62 |
|
|
|
|
|
|
|
|
|
41 |
|
43 |
|
48 |
|
46 |
|
|
|
|
|
|
|
|
|
Рис. 11
На рис. 12 вы видите готовый совершенный квадрат, в котором закрашены одинаковым цветом переставленные числа.
1 |
63 |
3 |
61 |
8 |
58 |
6 |
60 |
16 |
50 |
14 |
52 |
9 |
55 |
11 |
53 |
17 |
47 |
19 |
45 |
24 |
42 |
22 |
44 |
32 |
34 |
30 |
36 |
25 |
39 |
27 |
37 |
57 |
7 |
59 |
5 |
64 |
2 |
62 |
4 |
56 |
10 |
54 |
12 |
49 |
15 |
51 |
13 |
41 |
23 |
43 |
21 |
48 |
18 |
46 |
20 |
40 |
26 |
38 |
28 |
33 |
31 |
35 |
29 |
Рис. 12
Покажу на рис. 13 этот совершенный квадрат с выделенной начальной цепочкой:
1 |
63 |
3 |
61 |
8 |
58 |
6 |
60 |
16 |
50 |
14 |
52 |
9 |
55 |
11 |
53 |
17 |
47 |
19 |
45 |
24 |
42 |
22 |
44 |
32 |
34 |
30 |
36 |
25 |
39 |
27 |
37 |
57 |
7 |
59 |
5 |
64 |
2 |
62 |
4 |
56 |
10 |
54 |
12 |
49 |
15 |
51 |
13 |
41 |
23 |
43 |
21 |
48 |
18 |
46 |
20 |
40 |
26 |
38 |
28 |
33 |
31 |
35 |
29 |
Рис. 13
А теперь сравните этот совершенный квадрат с тем совершенным квадратом, который я построила методом качелей в предыдущей части статьи. Вы видите этот квадрат на рис. 14.
1 |
32 |
17 |
16 |
57 |
40 |
41 |
56 |
58 |
39 |
42 |
55 |
2 |
31 |
18 |
15 |
3 |
30 |
19 |
14 |
59 |
38 |
43 |
54 |
60 |
37 |
44 |
53 |
4 |
29 |
20 |
13 |
8 |
25 |
24 |
9 |
64 |
33 |
48 |
49 |
63 |
34 |
47 |
50 |
7 |
26 |
23 |
10 |
6 |
27 |
22 |
11 |
62 |
35 |
46 |
51 |
61 |
36 |
45 |
52 |
5 |
28 |
21 |
12 |
Рис. 14
Повернём этот квадрат на 90 градусов по часовой стрелке и затем отразим относительно вертикальной оси симметрии. Получим такой совершенный квадрат (рис. 15):
1 |
58 |
3 |
60 |
8 |
63 |
6 |
61 |
32 |
39 |
30 |
37 |
25 |
34 |
27 |
36 |
17 |
42 |
19 |
44 |
24 |
47 |
22 |
45 |
16 |
55 |
14 |
53 |
9 |
50 |
11 |
52 |
57 |
2 |
59 |
4 |
64 |
7 |
62 |
5 |
40 |
31 |
38 |
29 |
33 |
26 |
35 |
28 |
41 |
18 |
43 |
20 |
48 |
23 |
46 |
21 |
56 |
15 |
54 |
13 |
49 |
10 |
51 |
12 |
Рис. 15
Теперь совершенно очевидно, что этот квадрат получается из квадрата с рис. 13 перестановкой строк и столбцов. Вот так замечательно сработал мой метод качелей!
А интересно ответить на вопрос: из какого обратимого квадрата можно получить совершенный квадрат, который был найден мной в Интернете. Покажу его на рис. 16 (в несколько преобразованном виде):
1 |
16 |
17 |
32 |
53 |
60 |
37 |
44 |
63 |
50 |
47 |
34 |
11 |
6 |
27 |
22 |
3 |
14 |
19 |
30 |
55 |
58 |
39 |
42 |
61 |
52 |
45 |
36 |
9 |
8 |
25 |
24 |
12 |
5 |
28 |
21 |
64 |
49 |
48 |
33 |
54 |
59 |
38 |
43 |
2 |
15 |
18 |
31 |
10 |
7 |
26 |
23 |
62 |
51 |
46 |
35 |
56 |
57 |
40 |
41 |
4 |
13 |
20 |
29 |
Рис. 16
Другими словами задачу можно сформулировать следующим образом: найти преобразования, превращающие данный квадрат в обратимый.
В статье говорится, что каждый уникальный обратимый квадрат восьмого порядка образует группу из 36864 обратимых квадратов (считая и его самого). Таким образом, всего из 10 уникальных обратимых квадратов восьмого порядка получается 368640 обратимых квадратов. И каждый из этих обратимых квадратов можно превратить в совершенный квадрат. Вот сколько существует совершенных квадратов восьмого порядка! Но, наверное, здесь посчитаны все квадраты, получающиеся друг из друга параллельным переносом на торе, если провести аналогию с квадратами четвёртого порядка. Тогда без учёта параллельных переносов на торе совершенных квадратов восьмого порядка будет: 368640/64=5760.
В статье приводится расчёт количества обратимых (и совершенных) квадратов и для других порядков.
Для тех, кто заинтересовался этим уникальным методом построения совершенных квадратов любого порядка n=4k, k=1, 2, 3… из обратимых квадратов предлагаю решить две задачи.
Задача 1. Составьте ещё 9 уникальных обратимых квадратов восьмого порядка и превратите каждый из них в совершенный квадрат.
Задача 2. Превратите самый простой обратимый квадрат 12-ого порядка в совершенный квадрат.
Как вы уже знаете, самый простой обратимый квадрат 12-ого порядка надо составить так: заполнить матрицу 12х12 числами от 1 до 144, записывая их по порядку построчно, начиная с левой верхней ячейки квадрата.
Чтобы превратить этот квадрат в совершенный, надо выполнить три этапа. Первые два этапа очень просты (смотрите превращение квадратов четвёртого и восьмого порядка). Третий этап посложнее: какие-то числа надо оставить на месте, а какие-то переставить определённым образом. Попробуйте! И вы получите совершенный квадрат 12-ого порядка. Я ещё не решала эту задачу.
Кстати, этот квадрат тоже должен получаться из совершенного квадрата, построенного мной методом качелей, перестановкой строк и столбцов (предварительно мой квадрат надо повернуть на 90 градусов и отразить).
А уникальных обратимых квадратов 12-ого порядка (как говорится в статье) 42. Можно предложить и задачу составления всех уникальных обратимых квадратов 12-ого порядка.
Ну, а дальше можно заняться и квадратами 16-ого порядка.
А ещё интереснее запрограммировать процедуру превращения обратимого квадрата в совершенный. В качестве исходного, конечно, удобнее взять самый простой обратимый квадрат (заполненный числами по порядку). Составить программу для какого-то конкретного порядка, скажем, восьмого, очень просто. Сложнее составить программу для любого порядка n=4k.
***
Напомню всё-таки ссылку на статью, по материалам которой написана данная страница:
http://www.geocities.com/~harveyh/most-perfect.htm
Если что-то будет непонятно, загляните в эту статью. Правда, статья на английском языке.
***
31 мая 2008 г.
г. Саратов
1 июня 2008 г.
Решила показать процесс превращения обратимого квадрата в совершенный с помощью матрицы преобразования, которая объединяет в себе все три этапа. Начну с квадратов четвёртого порядка. Пусть исходный обратимый квадрат имеет матрицу A(aij). Тогда совершенный квадрат, полученный из этого обратимого квадрата, будет иметь матрицу B=f(A), которую вы видите на рис. 17.
a11 |
a43 |
a14 |
a42 |
a24 |
a32 |
a21 |
a33 |
a41 |
a13 |
a44 |
a12 |
a34 |
a22 |
a31 |
a23 |
Рис. 17
Имея эту матрицу, вы легко можете превратить любой обратимый квадрат в совершенный. Приведу пример. В качестве исходного возьму обратимый квадрат с рис. 2. Применив к этому квадрату преобразование, описанное матрицей с рис. 17, получаю такой совершенный квадрат (рис. 18):
1 |
15 |
6 |
12 |
8 |
10 |
3 |
13 |
11 |
5 |
16 |
2 |
14 |
4 |
9 |
7 |
Рис. 18
Понятно, что матричное преобразование очень легко запрограммировать. Написав программу для этого преобразования, вы с её помощью можете получить совершенный квадрат из любого обратимого квадрата.
А теперь покажу матрицу обратного преобразования, то есть преобразования, которое превращает совершенный квадрат в обратимый. Пусть совершенный квадрат имеет матрицу B(bij), тогда обратимый квадрат, соответствующий данному совершенному квадрату, будет иметь матрицу C=g(B), которую вы видите на рис. 19.
b11 |
b34 |
b32 |
b13 |
b23 |
b42 |
b44 |
b21 |
b43 |
b22 |
b24 |
b41 |
b31 |
b14 |
b12 |
b33 |
Рис. 19
Приведу пример применения этого преобразования. Возьму в качестве исходного следующий совершенный квадрат (рис. 20):
1 |
8 |
13 |
12 |
14 |
11 |
2 |
7 |
4 |
5 |
16 |
9 |
15 |
10 |
3 |
6 |
Рис. 20
Этот квадрат я построила методом качелей. Применяю к нему преобразование, описанное матрицей с рис. 19, и получаю соответствующий данному квадрату обратимый квадрат, который вы видите на рис. 21.
1 |
9 |
5 |
13 |
2 |
10 |
6 |
14 |
3 |
11 |
7 |
15 |
4 |
12 |
8 |
16 |
Рис. 21
Понятно, что если применить к обратимому квадрату с рис. 21 преобразование, описанное матрицей с рис. 17, то получится совершенный квадрат с рис. 20. Попробуйте!
Перехожу к квадратам восьмого порядка. Пусть обратимый квадрат восьмого порядка имеет матрицу A(aij). Тогда полученный из него совершенный квадрат будет иметь матрицу B=f(A), которая изображена на рис. 22.
a11 |
a87 |
a13 |
a85 |
a18 |
a82 |
a16 |
a84 |
a28 |
a72 |
a26 |
a74 |
a21 |
a77 |
a23 |
a75 |
a31 |
a67 |
a33 |
a65 |
a38 |
a62 |
a36 |
a64 |
a48 |
a52 |
a46 |
a54 |
a41 |
a57 |
a43 |
a55 |
a81 |
a17 |
a83 |
a15 |
a88 |
a12 |
a86 |
a14 |
a78 |
a22 |
a76 |
a24 |
a71 |
a27 |
a73 |
a25 |
a61 |
a37 |
a63 |
a35 |
a68 |
a32 |
a66 |
a34 |
a58 |
a42 |
a56 |
a44 |
a51 |
a47 |
a53 |
a45 |
Рис. 22
Предлагаю читателям проверить это матричное преобразование для примера превращения обратимого квадрата в совершенный, который был дан выше.
Показываю матрицу обратного преобразования. Пусть исходный совершенный квадрат имеет матрицу B(bij). Тогда соответствующий этому квадрату обратимый квадрат будет иметь матрицу C=g(B), которую вы видите на рис. 23.
b11 |
b56 |
b13 |
b58 |
b54 |
b17 |
b52 |
b15 |
b25 |
b62 |
b27 |
b64 |
b68 |
b23 |
b66 |
b21 |
b31 |
b76 |
b33 |
b78 |
b74 |
b37 |
b72 |
b35 |
b45 |
b82 |
b47 |
b84 |
b88 |
b43 |
b86 |
b41 |
b85 |
b42 |
b87 |
b44 |
b48 |
b83 |
b46 |
b81 |
b71 |
b36 |
b73 |
b38 |
b34 |
b77 |
b32 |
b75 |
b65 |
b22 |
b67 |
b24 |
b28 |
b63 |
b26 |
b61 |
b51 |
b16 |
b53 |
b18 |
b14 |
b57 |
b12 |
b55 |
Рис. 23
Теперь можно ответить на вопрос, который был задан выше о совершенном квадрате, найденном мной в Интернете (см. рис. 16). Применяю к этому квадрату преобразование, описанное матрицей с рис. 23, и получаю соответствующий ему обратимый квадрат. Его вы видите на рис. 24.
1 |
49 |
17 |
33 |
21 |
37 |
5 |
53 |
11 |
59 |
27 |
43 |
31 |
47 |
15 |
63 |
3 |
51 |
19 |
35 |
23 |
39 |
7 |
55 |
9 |
57 |
25 |
41 |
29 |
45 |
13 |
61 |
4 |
52 |
20 |
36 |
24 |
40 |
8 |
56 |
10 |
58 |
26 |
42 |
30 |
46 |
14 |
62 |
2 |
50 |
18 |
34 |
22 |
38 |
6 |
54 |
12 |
60 |
28 |
44 |
32 |
48 |
16 |
64 |
Рис. 24
Этот обратимый квадрат входит в группу, порождаемую вторым уникальным квадратом восьмого порядка (первый уникальный квадрат восьмого порядка изображён на рис. 8). Интересно, что сам уникальный квадрат я получила, применив обратное преобразование к тому же самому квадрату из Интернета, но не преобразованному, а прямо в том виде, как он дан в статье, в которой я его нашла (ссылку см. в первой части настоящей статьи, там же приведён и сам квадрат). На рис. 25 вы видите этот уникальный обратимый квадрат.
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
25 |
26 |
27 |
28 |
21 |
22 |
23 |
24 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
41 |
42 |
43 |
44 |
37 |
38 |
39 |
40 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
57 |
58 |
59 |
60 |
53 |
54 |
55 |
56 |
61 |
62 |
63 |
64 |
Рис. 25
Теперь осталось составить восемь уникальных обратимых квадратов восьмого порядка.
Приведу ещё один пример применения данного преобразования. Превращу в обратимый совершенный квадрат, изображённый на рис. 15. Соответствующий этому квадрату обратимый квадрат вы видите на рис. 26.
1 |
7 |
3 |
5 |
4 |
6 |
2 |
8 |
25 |
31 |
27 |
29 |
28 |
30 |
26 |
32 |
17 |
23 |
19 |
21 |
20 |
22 |
18 |
24 |
9 |
15 |
11 |
13 |
12 |
14 |
10 |
16 |
49 |
55 |
51 |
53 |
52 |
54 |
50 |
56 |
41 |
47 |
43 |
45 |
44 |
46 |
42 |
48 |
33 |
39 |
35 |
37 |
36 |
38 |
34 |
40 |
57 |
63 |
59 |
61 |
60 |
62 |
58 |
64 |
Рис. 26
Очевидно, что этот обратимый квадрат связан с самым простым обратимым квадратом восьмого порядка (см. рис. 8) точно такой же перестановкой строк и столбцов, какой связаны полученные из этих обратимых квадратов совершенные квадраты (см. рис. 13 и рис. 15).
Если вы примените к обратимому квадрату с рис. 26 преобразование, описанное матрицей с рис. 22, то получите совершенный квадрат, изображённый на рис. 15. Попробуйте!
***
2 июня 2008 г.
Внимательно посмотрев на матрицу преобразования, изображённую на рис. 22, я увидела строгую закономерность в индексации элементов матрицы. И поэтому составить матрицу преобразования для квадратов 12-ого порядка не составило большого труда. На рис. 27 вы видите матрицу преобразования, с помощью которого можно превратить любой обратимый квадрат 12-ого порядка в совершенный.
a1,1 |
a12,11 |
a1,3 |
a12,9 |
a1,5 |
a12,7 |
a1,12 |
a12,2 |
a1,10 |
a12,4 |
a1,8 |
a12,6 |
a2,12 |
a11,2 |
a2,10 |
a11,4 |
a2,8 |
a11,6 |
a2,1 |
a11,11 |
a2,3 |
a11,9 |
a2,5 |
a11,7 |
a3,1 |
a10,11 |
a3,3 |
a10,9 |
a3,5 |
a10,7 |
a3,12 |
a10,2 |
a3,10 |
a10,4 |
a3,8 |
a10,6 |
a4,12 |
a9,2 |
a4,10 |
a9,4 |
a4,8 |
a9,6 |
a4,1 |
a9,11 |
a4,3 |
a9,9 |
a4,5 |
a9,7 |
a5,1 |
a8,11 |
a5,3 |
a8,9 |
a5,5 |
a8,7 |
a5,12 |
a8,2 |
a5,10 |
a8,4 |
a5,8 |
a8,6 |
a6,12 |
a7,2 |
a6,10 |
a7,4 |
a6,8 |
a7,6 |
a6,1 |
a7,11 |
a6,3 |
a7,9 |
a6,5 |
a7,7 |
a12,1 |
a1,11 |
a12,3 |
a1,9 |
a12,5 |
a1,7 |
a12,12 |
a1,2 |
a12,10 |
a1,4 |
a12,8 |
a1,6 |
a11,12 |
a2,2 |
a11,10 |
a2,4 |
a11,8 |
a2,6 |
a11,1 |
a2,11 |
a11,3 |
a2,9 |
a11,5 |
a2,7 |
a10,1 |
a3,11 |
a10,3 |
a3,9 |
a10,5 |
a3,7 |
a10,12 |
a3,2 |
a10,10 |
a3,4 |
a10,8 |
a3,6 |
a9,12 |
a4,2 |
a9,10 |
a4,4 |
a9,8 |
a4,6 |
a9,1 |
a4,11 |
a9,3 |
a4,9 |
a9,5 |
a4,7 |
a8,1 |
a5,11 |
a8,3 |
a5,9 |
a8,5 |
a5,7 |
a8,12 |
a5,2 |
a8,10 |
a5,4 |
a8,8 |
a5,6 |
a7,12 |
a6,2 |
a7,10 |
a6,4 |
a7,8 |
a6,6 |
a7,1 |
a6,11 |
a7,3 |
a6,9 |
a7,5 |
a6,7 |
Рис. 27
Теперь очень просто решить задачу 1, предложенную выше, то есть превратить самый простой обратимый квадрат 12-ого порядка в совершенный. Надо просто составить этот квадрат и применить к нему преобразование, описанное матрицей с рис. 27. На рис. 28 вы видите полученный совершенный квадрат.
1 |
143 |
3 |
141 |
5 |
139 |
12 |
134 |
10 |
136 |
8 |
138 |
24 |
122 |
22 |
124 |
20 |
126 |
13 |
131 |
15 |
129 |
17 |
127 |
25 |
119 |
27 |
117 |
29 |
115 |
36 |
110 |
34 |
112 |
32 |
114 |
48 |
98 |
46 |
100 |
44 |
102 |
37 |
107 |
39 |
105 |
41 |
103 |
49 |
95 |
51 |
93 |
53 |
91 |
60 |
86 |
58 |
88 |
56 |
90 |
72 |
74 |
70 |
76 |
68 |
78 |
61 |
83 |
63 |
81 |
65 |
79 |
133 |
11 |
135 |
9 |
137 |
7 |
144 |
2 |
142 |
4 |
140 |
6 |
132 |
14 |
130 |
16 |
128 |
18 |
121 |
23 |
123 |
21 |
125 |
19 |
109 |
35 |
111 |
33 |
113 |
31 |
120 |
26 |
118 |
28 |
116 |
30 |
108 |
38 |
106 |
40 |
104 |
42 |
97 |
47 |
99 |
45 |
101 |
43 |
85 |
59 |
87 |
57 |
89 |
55 |
96 |
50 |
94 |
52 |
92 |
54 |
84 |
62 |
82 |
64 |
80 |
66 |
73 |
71 |
75 |
69 |
77 |
67 |
Рис. 28
Если построенный методом качелей совершенный квадрат 12-ого порядка (см. вторую часть этой статьи) повернуть на 90 градусов и отразить относительно вертикальной оси симметрии, то полученный квадрат будет связан с квадратом с рис. 28 простой перестановкой строк и столбцов.
Теперь, конечно, надо написать матрицу обратного преобразования, которое превращает совершенный квадрат в обратимый. Пусть исходный совершенный квадрат имеет матрицу B(bij), тогда соответствующий ему обратимый квадрат будет иметь матрицу C=g(B), которую вы видите на рис. 29.
b1,1 |
b7,8 |
b1,3 |
b7,10 |
b1,5 |
b7,12 |
b7,6 |
b1,11 |
b7,4 |
b1,9 |
b7,2 |
b1,7 |
b2,7 |
b8,2 |
b2,9 |
b8,4 |
b2,11 |
b8,6 |
b8,12 |
b2,5 |
b8,10 |
b2,3 |
b8,8 |
b2,1 |
b3,1 |
b9,8 |
b3,3 |
b9,10 |
b3,5 |
b9,12 |
b9,6 |
b3,11 |
b9,4 |
b3,9 |
b9,2 |
b3,7 |
b4,7 |
b10,2 |
b4,9 |
b10,4 |
b4,11 |
b10,6 |
b10,12 |
b4,5 |
b10,10 |
b4,3 |
b10,8 |
b4,1 |
b5,1 |
b11,8 |
b5,3 |
b11,10 |
b5,5 |
b11,12 |
b11,6 |
b5,11 |
b11,4 |
b5,9 |
b11,2 |
b5,7 |
b6,7 |
b12,2 |
b6,9 |
b12,4 |
b6,11 |
b12,6 |
b12,12 |
b6,5 |
b12,10 |
b6,3 |
b12,8 |
b6,1 |
b12,7 |
b6,2 |
b12,9 |
b6,4 |
b12,11 |
b6,6 |
b6,12 |
b12,5 |
b6,10 |
b12,3 |
b6,8 |
b12,1 |
b11,1 |
b5,8 |
b11,3 |
b5,10 |
b11,5 |
b5,12 |
b5,6 |
b11,11 |
b5,4 |
b11,9 |
b5,2 |
b11,7 |
b10,7 |
b4,2 |
b10,9 |
b4,4 |
b10,11 |
b4,6 |
b4,12 |
b10,5 |
b4,10 |
b10,3 |
b4,8 |
b10,1 |
b9,1 |
b3,8 |
b9,3 |
b3,10 |
b9,5 |
b3,12 |
b3,6 |
b9,11 |
b3,4 |
b9,9 |
b3,2 |
b9,7 |
b8,7 |
b2,2 |
b8,9 |
b2,4 |
b8,11 |
b2,6 |
b2,12 |
b8,5 |
b2,10 |
b8,3 |
b2,8 |
b8,1 |
b7,1 |
b1,8 |
b7,3 |
b1,10 |
b7,5 |
b1,12 |
b1,6 |
b7,11 |
b1,4 |
b7,9 |
b1,2 |
b7,7 |
Рис. 29
Написав эту матрицу, я элементарно решила задачу о совершенном квадрате 12-ого порядка, приведённом в статье на английском языке (ссылку см. выше). Напомню, что мне было непонятно, каким методом построен этот квадрат. Метод качелей к нему не удалось применить. Теперь понятно, что построен этот совершенный квадрат из обратимого квадрата преобразованием, матрица которого изображена на рис. 27. Сначала покажу этот совершенный квадрат, причём не буду его преобразовывать, а дам точную копию квадрата из статьи (рис. 30).
65 |
93 |
82 |
95 |
49 |
78 |
68 |
64 |
51 |
62 |
84 |
79 |
32 |
100 |
15 |
98 |
48 |
115 |
29 |
129 |
46 |
131 |
13 |
114 |
25 |
133 |
42 |
135 |
9 |
118 |
28 |
104 |
11 |
102 |
44 |
119 |
24 |
108 |
7 |
106 |
40 |
123 |
21 |
137 |
38 |
139 |
5 |
122 |
17 |
141 |
34 |
143 |
1 |
126 |
20 |
112 |
3 |
110 |
36 |
127 |
76 |
56 |
59 |
54 |
92 |
71 |
73 |
85 |
90 |
87 |
57 |
70 |
77 |
81 |
94 |
83 |
61 |
66 |
80 |
52 |
63 |
50 |
96 |
67 |
116 |
16 |
99 |
14 |
132 |
31 |
113 |
45 |
130 |
47 |
97 |
30 |
117 |
41 |
134 |
43 |
101 |
26 |
120 |
12 |
103 |
10 |
136 |
27 |
124 |
8 |
107 |
6 |
140 |
23 |
121 |
37 |
138 |
39 |
105 |
22 |
125 |
33 |
142 |
35 |
109 |
18 |
128 |
4 |
111 |
2 |
144 |
19 |
72 |
60 |
55 |
58 |
88 |
75 |
69 |
89 |
86 |
91 |
53 |
74 |
Рис. 30
Посмотрите, как затейливо расположились в этом совершенном квадрате первые 12 чисел – начальная цепочка. Применяю к этому квадрату преобразование, описанное матрицей с рис. 29 и получаю соответствующий обратимый квадрат (рис. 31).
65 |
52 |
82 |
50 |
49 |
67 |
66 |
84 |
83 |
51 |
81 |
68 |
29 |
16 |
46 |
14 |
13 |
31 |
30 |
48 |
47 |
15 |
45 |
32 |
25 |
12 |
42 |
10 |
9 |
27 |
26 |
44 |
43 |
11 |
41 |
28 |
21 |
8 |
38 |
6 |
5 |
23 |
22 |
40 |
39 |
7 |
37 |
24 |
17 |
4 |
34 |
2 |
1 |
19 |
18 |
36 |
35 |
3 |
33 |
20 |
73 |
60 |
90 |
58 |
57 |
75 |
74 |
92 |
91 |
59 |
89 |
76 |
69 |
56 |
86 |
54 |
53 |
71 |
70 |
88 |
87 |
55 |
85 |
72 |
125 |
112 |
142 |
110 |
109 |
127 |
126 |
144 |
143 |
111 |
141 |
128 |
121 |
108 |
138 |
106 |
105 |
123 |
122 |
140 |
139 |
107 |
137 |
124 |
117 |
104 |
134 |
102 |
101 |
119 |
118 |
136 |
135 |
103 |
133 |
120 |
113 |
100 |
130 |
98 |
97 |
115 |
114 |
132 |
131 |
99 |
129 |
116 |
77 |
64 |
94 |
62 |
61 |
79 |
78 |
96 |
95 |
63 |
93 |
80 |
Рис. 31
Понятно, что этот обратимый квадрат не входит в группу, порождаемую самым простым уникальным квадратом 12-ого порядка (со вписанными по порядку числами). Очевидно и то, что этот квадрат не является уникальным. Можно предложить такую задачу: составить уникальный квадрат 12-ого порядка, в группу которого входит квадрат с рис. 31.
Чтобы построить совершенный квадрат, подобный квадрату с рис. 30, я сделала следующее. Немного преобразовала обратимый квадрат с рис. 31, переставила строки: третью с четвёртой и девятую с десятой (всё равно, откуда считать – сверху или снизу). А затем применила к полученному обратимому квадрату преобразование, описанное матрицей с рис. 27. И вот вы видите совершенный квадрат, подобный квадрату, приведённому автором английской статьи, то есть имеющий такую же начальную цепочку (рис. 32).
65 |
93 |
82 |
95 |
49 |
78 |
68 |
64 |
51 |
62 |
84 |
79 |
32 |
100 |
15 |
98 |
48 |
115 |
29 |
129 |
46 |
131 |
13 |
114 |
21 |
137 |
38 |
139 |
5 |
122 |
24 |
108 |
7 |
106 |
40 |
123 |
28 |
104 |
11 |
102 |
44 |
119 |
25 |
133 |
42 |
135 |
9 |
118 |
17 |
141 |
34 |
143 |
1 |
126 |
20 |
112 |
3 |
110 |
36 |
127 |
76 |
56 |
59 |
54 |
92 |
71 |
73 |
85 |
90 |
87 |
57 |
70 |
77 |
81 |
94 |
83 |
61 |
66 |
80 |
52 |
63 |
50 |
96 |
67 |
116 |
16 |
99 |
14 |
132 |
31 |
113 |
45 |
130 |
47 |
97 |
30 |
121 |
37 |
138 |
39 |
105 |
22 |
124 |
8 |
107 |
6 |
140 |
23 |
120 |
12 |
103 |
10 |
136 |
27 |
117 |
41 |
134 |
43 |
101 |
26 |
125 |
33 |
142 |
35 |
109 |
18 |
128 |
4 |
111 |
2 |
144 |
19 |
72 |
60 |
55 |
58 |
88 |
75 |
69 |
89 |
86 |
91 |
53 |
74 |
Рис. 32
Посмотрите, как переставлены числа в начальной цепочке, но при этом её форма не изменилась.
Я показала, как работает преобразование, превращающее обратимые квадраты в совершенные, и обратное преобразование, превращающее совершенные квадраты в обратимые. Заинтересовавшиеся читатели без труда могут составить матрицы этих преобразований для квадратов следующих порядков.
Теперь ещё раз о программах. Здесь представляют интерес следующие программы:
а) программа для составления всех уникальных обратимых квадратов, например, для порядков n=8, 12, 16;
б) программа для получения обратимых квадратов одной группы, порождаемой уникальным квадратом; например, такая группа обратимых квадратов приведена в указанной статье для квадратов четвёртого порядка;
в) программа построения совершенных квадратов из обратимых.
Программы группы в) очень легко составить для любого конкретного порядка. Надо просто запрограммировать преобразование, превращающее обратимый квадрат в совершенный, а именно матрицу этого преобразования. Сложнее написать программу, выполняющую такое преобразование для квадратов любого порядка n=4k, k=1, 2, 3…
***
4-7 июня 2008 г.
Приведу программу построения совершенных квадратов из обратимых для квадратов четвёртого порядка. Программа очень простая. Вы вводите на запрос программы обратимый квадрат, и программа выдаёт соответствующий совершенный квадрат.
ТЕКСТ ПРОГРАММЫ
(язык QBASIC)
10 DIM A(4, 4), B(4, 4)
15 PRINT "VVEDITE OBRATIMYJ KVADRAT"
20 FOR I = 1 TO 4
25 FOR J = 1 TO 4
30 INPUT A(I, J)
35 NEXT J
40 NEXT I
45 B(1, 1) = A(1, 1): B(1, 2) = A(4, 3): B(1, 3) = A(1, 4): B(1, 4) = A(4, 2)
50 B(2, 1) = A(2, 4): B(2, 2) = A(3, 2): B(2, 3) = A(2, 1): B(2, 4) = A(3, 3)
55 B(3, 1) = A(4, 1): B(3, 2) = A(1, 3): B(3, 3) = A(4, 4): B(3, 4) = A(1, 2)
60 B(4, 1) = A(3, 4): B(4, 2) = A(2, 2): B(4, 3) = A(3, 1): B(4, 4) = A(2, 3)
70 PRINT "POLUCHEN SOVERSHENNYJ KVADRAT"
75 FOR I = 1 TO 4
80 FOR J = 1 TO 4
85 PRINT B(I, J);
90 NEXT J
95 PRINT
100 NEXT I
110 END
Конечно, для больших порядков простое переобозначение элементов матрицы неприемлемо. Надо организовать циклы для формирования матрицы B(bij) из элементов матрицы A(aij).
Пример применения программы:
Вводим в программу обратимый квадрат, который вы видите на рис. 33. Программа выдаст совершенный квадрат, соответствующий данному обратимому квадрату (рис. 34).
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
5 |
6 |
7 |
8 |
13 |
14 |
15 |
16 |
Рис. 33
1 |
15 |
4 |
14 |
12 |
6 |
9 |
7 |
13 |
3 |
16 |
2 |
8 |
10 |
5 |
11 |
Рис. 34
Понятно, что аналогично можно запрограммировать и превращение совершенного квадрата в обратимый. Для этого надо взять обратное преобразование, матрица которого показана на рис. 19. Зная все 48 совершенных квадратов четвёртого порядка, можно по этой программе получить все 48 обратимых квадратов.
А теперь представлю матрицу преобразования, осуществляющего превращение обратимого квадрата в совершенный, в общем виде для любого порядка n=4k, k=1, 2, 3… (рис. 35).
a1,1 |
an,n-1 |
a1,3 |
an,n-3 |
… |
an,k+1 |
a1,n |
an,2 |
a1,n-2 |
an,4 |
… |
a12,k |
a2,n |
an-1,2 |
a2,n-2 |
an-1,4 |
… |
an-1,k |
a2,1 |
an-1,n-1 |
a2,3 |
an-1,n-3 |
… |
an-1,k+1 |
a3,1 |
an-2,n-1 |
a3,3 |
an-2,n-3 |
… |
an-2,k+1 |
a3,n |
an-2,2 |
a3,n-2 |
an-2,4 |
… |
an-2,k |
… |
… |
… |
… |
... |
... |
… |
… |
… |
… |
… |
… |
ak-2,n |
ak+3,2 |
ak-2,n-2 |
ak+3,4 |
… |
ak+3,k |
ak-2,1 |
ak+3,n-1 |
ak-2,3 |
ak+3,n-3 |
… |
ak+3,k+1 |
ak-1,1 |
ak+2,n-1 |
ak-1,3 |
ak+2,n-3 |
… |
ak+2,k+1 |
ak-1,n |
ak+2,2 |
ak-1,n-2 |
ak+2,4 |
… |
ak+2,k |
ak,n |
ak+1,2 |
ak,n-2 |
ak+1,4 |
… |
ak+1,k |
ak,1 |
ak+1,n-1 |
ak,3 |
ak+1,n-3 |
… |
ak+1,k+1 |
an,1 |
a1,n-1 |
an,3 |
a1,n-3 |
… |
a1,k+1 |
an,n |
a1,2 |
an,n-2 |
a1,4 |
… |
a1,k |
an-1,n |
a2,2 |
an-1,n-2 |
a2,4 |
… |
a2,k |
an-1,1 |
a2,n-1 |
an-1,3 |
a2,n-3 |
… |
a2,k+1 |
an-2,1 |
a3,n-1 |
an-2,3 |
a3,n-3 |
… |
a3,k+1 |
an-2,n |
a3,2 |
an-2,n-2 |
a3,4 |
… |
a3,k |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
ak+3,n |
ak-2,2 |
ak+3,n-2 |
ak-2,4 |
… |
ak-2,k |
ak+3,1 |
ak-2,n-1 |
ak+3,3 |
ak-2,n-3 |
… |
ak-2,k+1 |
ak+2,1 |
ak-1,n-1 |
ak+2,3 |
ak-1,n-3 |
… |
ak-1,k+1 |
ak+2,n |
ak-1,2 |
ak+2,n-2 |
ak-1,4 |
… |
ak-1,k |
ak+1,n |
ak,2 |
ak+1,n-2 |
ak,4 |
… |
ak,k |
ak+1,1 |
ak,n-1 |
ak+1,3 |
ak,n-3 |
… |
ak,k+1 |
Рис. 35
И вот решение общей задачи: программа построения совершенного квадрата любого порядка n=4k из самого простого обратимого квадрата (то есть заполненного числами от 1 до n2 по порядку). В этой программе сначала составляется самый простой обратимый квадрат, а затем к нему применяется преобразование, матрица которого изображена на рис. 35. Всё очень просто! Чтобы программа построила совершенный квадрат, достаточно ввести порядок квадрата n.
ТЕКСТ ПРОГРАММЫ
(язык QBASIC)
5 OPEN "MK.txt" FOR OUTPUT AS #1
10 PRINT "VVEDITE PORYADOK KVADRATA"
15 INPUT N
20 K = N / 2
25 IF K/2 - INT(K/2) <> 0 THEN 10
27 DIM A(N,N), B(N,N)
30 M = N
35 FOR I = 1 TO N
40 FOR J = 1 TO N
45 A(I, J) = M - N + J
50 NEXT J
55 M = M + N
60 NEXT I
105 J = 1: L = 1
110 FOR I = 1 TO K
115 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(I, J)
120 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(I, N - 2 * (L - 1))
122 NEXT I
125 J = J + 2: L = L + 1
130 IF J > K - 1 THEN 140
135 GOTO 110
140 J = 2: L = 1
145 FOR I = 1 TO K
150 M = N - I
155 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(M + 1, N - 1 - 2 * (L - 1))
160 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(M + 1, J)
162 NEXT I
165 J = J + 2: L = L + 1
170 IF J > K THEN 200
175 GOTO 145
200 FOR X = K + 1 TO N
205 FOR Y = K + 1 TO N
210 B(X, Y) = N ^ 2 + 1 - B(X - K, Y - K)
215 NEXT Y
220 NEXT X
250 J = K + 1: L = 1
255 FOR I = 1 TO K
260 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(I, N - 2 * (L - 1))
265 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(I, J - K)
270 NEXT I
275 J = J + 2: L = L + 1
280 IF J > N - 1 THEN 300
285 GOTO 255
300 J = K + 2: L = 1
305 FOR I = 1 TO K
307 M = N - I
310 IF I / 2 - INT(I / 2) <> 0 THEN B(I, J) = A(M + 1, J - K)
315 IF I / 2 - INT(I / 2) = 0 THEN B(I, J) = A(M + 1, N - 1 - 2 * (L - 1))
320 NEXT I
325 J = J + 2: L = L + 1
330 IF J > N THEN 350
335 GOTO 305
350 FOR X = K + 1 TO N
355 FOR Y = 1 TO K
360 B(X, Y) = N ^ 2 + 1 - B(X - K, Y + K)
365 NEXT Y
370 NEXT X
1000 FOR X = 1 TO N
1005 FOR Y = 1 TO N
1010 PRINT B(X, Y); : PRINT #1, B(X, Y);
1015 NEXT Y
1020 PRINT : PRINT #1,
1025 NEXT X
1030 CLOSE #1
1035 END
На рис. 36 показан совершенный квадрат 16-ого порядка, построенный по этой программе.
1 |
255 |
3 |
253 |
5 |
251 |
7 |
249 |
16 |
242 |
14 |
244 |
12 |
246 |
10 |
248 |
32 |
226 |
30 |
228 |
28 |
230 |
26 |
232 |
17 |
239 |
19 |
237 |
21 |
235 |
23 |
233 |
33 |
223 |
35 |
221 |
37 |
219 |
39 |
217 |
48 |
210 |
46 |
212 |
44 |
214 |
42 |
216 |
64 |
194 |
62 |
196 |
60 |
198 |
58 |
200 |
49 |
207 |
51 |
205 |
53 |
203 |
55 |
201 |
65 |
191 |
67 |
189 |
69 |
187 |
71 |
185 |
80 |
178 |
78 |
180 |
76 |
182 |
74 |
184 |
96 |
162 |
94 |
164 |
92 |
166 |
90 |
168 |
81 |
175 |
83 |
173 |
85 |
171 |
87 |
169 |
97 |
159 |
99 |
157 |
101 |
155 |
103 |
153 |
112 |
146 |
110 |
148 |
108 |
150 |
106 |
152 |
128 |
130 |
126 |
132 |
124 |
134 |
122 |
136 |
113 |
143 |
115 |
141 |
117 |
139 |
119 |
137 |
241 |
15 |
243 |
13 |
245 |
11 |
247 |
9 |
256 |
2 |
254 |
4 |
252 |
6 |
250 |
8 |
240 |
18 |
238 |
20 |
236 |
22 |
234 |
24 |
225 |
31 |
227 |
29 |
229 |
27 |
231 |
25 |
209 |
47 |
211 |
45 |
213 |
43 |
215 |
41 |
224 |
34 |
222 |
36 |
220 |
38 |
218 |
40 |
208 |
50 |
206 |
52 |
204 |
54 |
202 |
56 |
193 |
63 |
195 |
61 |
197 |
59 |
199 |
57 |
177 |
79 |
179 |
77 |
181 |
75 |
183 |
73 |
192 |
66 |
190 |
68 |
188 |
70 |
186 |
72 |
176 |
82 |
174 |
84 |
172 |
86 |
170 |
88 |
161 |
95 |
163 |
93 |
165 |
91 |
167 |
89 |
145 |
111 |
147 |
109 |
149 |
107 |
151 |
105 |
160 |
98 |
158 |
100 |
156 |
102 |
154 |
104 |
144 |
114 |
142 |
116 |
140 |
118 |
138 |
120 |
129 |
127 |
131 |
125 |
133 |
123 |
135 |
121 |
Рис. 36
Совершенный квадрат 20-ого порядка покажу в том виде, как программа записала его в файл, то есть не буду переписывать квадрат в матрицу.
Совершенный квадрат 20-ого порядка:
1 399 3 397 5 395 7 393 9 391 20 382 18 384 16 386 14 388 12 390
40 362 38 364 36 366 34 368 32 370 21 379 23 377 25 375 27 373 29 371
41 359 43 357 45 355 47 353 49 351 60 342 58 344 56 346 54 348 52 350
80 322 78 324 76 326 74 328 72 330 61 339 63 337 65 335 67 333 69 331
81 319 83 317 85 315 87 313 89 311 100 302 98 304 96 306 94 308 92 310
120 282 118 284 116 286 114 288 112 290 101 299 103 297 105 295 107 293 109 291
121 279 123 277 125 275 127 273 129 271 140 262 138 264 136 266 134 268 132 270
160 242 158 244 156 246 154 248 152 250 141 259 143 257 145 255 147 253 149 251
161 239 163 237 165 235 167 233 169 231 180 222 178 224 176 226 174 228 172 230
200 202 198 204 196 206 194 208 192 210 181 219 183 217 185 215 187 213 189 211
381 19 383 17 385 15 387 13 389 11 400 2 398 4 396 6 394 8 392 10
380 22 378 24 376 26 374 28 372 30 361 39 363 37 365 35 367 33 369 31
341 59 343 57 345 55 347 53 349 51 360 42 358 44 356 46 354 48 352 50
340 62 338 64 336 66 334 68 332 70 321 79 323 77 325 75 327 73 329 71
301 99 303 97 305 95 307 93 309 91 320 82 318 84 316 86 314 88 312 90
300 102 298 104 296 106 294 108 292 110 281 119 283 117 285 115 287 113 289 111
261 139 263 137 265 135 267 133 269 131 280 122 278 124 276 126 274 128 272 130
260 142 258 144 256 146 254 148 252 150 241 159 243 157 245 155 247 153 249 151
221 179 223 177 225 175 227 173 229 171 240 162 238 164 236 166 234 168 232 170
220 182 218 184 216 186 214 188 212 190 201 199 203 197 205 195 207 193 209 191
Предлагаю читателям построить по программе совершенные квадраты следующих порядков.
Понятно, что программу можно изменить так, чтобы она строила совершенный квадрат из любого обратимого квадрата. Для этого надо убрать строки, формирующие самый простой обратимый квадрат, и вставить строки для ввода обратимого квадрата.
Тогда программа будет начинаться так:
5 OPEN "MK.txt" FOR OUTPUT AS #1
10 PRINT "VVEDITE PORYADOK KVADRATA"
15 INPUT N
20 K = N / 2
25 IF K / 2 - INT(K / 2) <> 0 THEN 10
27 DIM A(N, N), B(N, N)
30 PRINT "VVEDITE OBRATIMYJ KVADRAT"
35 FOR I = 1 TO N
40 FOR J = 1 TO N
45 INPUT A(I, J)
50 NEXT J
55 NEXT I
105 J = 1: L = 1
…
Приведу пример построения совершенного квадрата по этой программе. В качестве исходного обратимого квадрата 12-ого порядка возьму второй уникальный обратимый квадрат, который составила по аналогии со вторым уникальным обратимым квадратом восьмого порядка (см. рис. 25). Этот обратимый квадрат вы видите на рис. 37.
1 |
2 |
3 |
4 |
5 |
6 |
13 |
14 |
15 |
16 |
17 |
18 |
7 |
8 |
9 |
10 |
11 |
12 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
37 |
38 |
39 |
40 |
41 |
42 |
31 |
32 |
33 |
34 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
61 |
62 |
63 |
64 |
65 |
66 |
55 |
56 |
57 |
58 |
59 |
60 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
85 |
86 |
87 |
88 |
89 |
90 |
79 |
80 |
81 |
82 |
83 |
84 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
109 |
110 |
111 |
112 |
113 |
114 |
103 |
104 |
105 |
106 |
107 |
108 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
133 |
134 |
135 |
136 |
137 |
138 |
127 |
128 |
129 |
130 |
131 |
132 |
139 |
140 |
141 |
142 |
143 |
144 |
Рис. 37
Ввожу данный обратимый квадрат в программу, и она выдаёт соответствующий ему совершенный квадрат, который вы видите на рис. 38.
1 |
143 |
3 |
141 |
5 |
139 |
18 |
128 |
16 |
130 |
14 |
132 |
24 |
122 |
22 |
124 |
20 |
126 |
7 |
137 |
9 |
135 |
11 |
133 |
25 |
119 |
27 |
117 |
29 |
115 |
42 |
104 |
40 |
106 |
38 |
108 |
48 |
98 |
46 |
100 |
44 |
102 |
31 |
113 |
33 |
111 |
35 |
109 |
49 |
95 |
51 |
93 |
53 |
91 |
66 |
80 |
64 |
82 |
62 |
84 |
72 |
74 |
70 |
76 |
68 |
78 |
55 |
89 |
57 |
87 |
59 |
85 |
127 |
17 |
129 |
15 |
131 |
13 |
144 |
2 |
142 |
4 |
140 |
6 |
138 |
8 |
136 |
10 |
134 |
12 |
121 |
23 |
123 |
21 |
125 |
19 |
103 |
41 |
105 |
39 |
107 |
37 |
120 |
26 |
118 |
28 |
116 |
30 |
114 |
32 |
112 |
34 |
110 |
36 |
97 |
47 |
99 |
45 |
101 |
43 |
79 |
65 |
81 |
63 |
83 |
61 |
96 |
50 |
94 |
52 |
92 |
54 |
90 |
56 |
88 |
58 |
86 |
60 |
73 |
71 |
75 |
69 |
77 |
67 |
Рис. 38
Совершенный квадрат получился с такой же формой начальной цепочки, как совершенный квадрат восьмого порядка, построенный из уникального обратимого квадрата с рис. 25. Интересно напомнить, что методом качелей мне такой квадрат построить не удалось (см. вторую часть настоящей статьи). Видимо, я где-то допустила ошибку при переносе чисел из образующей таблицы в матрицу для квадрата (я отмечала при построении квадрата восьмого порядка этим методом, что перенос имеет несколько особенностей, а поскольку у меня был всего один опыт такого построения – квадраты восьмого порядка – видимо, я и не уловила всех особенностей). Теперь покажу, чем же отличаются квадрат, построенный методом качелей, от квадрата с рис. 38. Но прежде надо повернуть квадрат с рис. 38 на 90 градусов по часовой стрелке и отразить относительно вертикальной оси симметрии. Полученный в результате этих преобразований эквивалентный квадрат вы видите на рис. 39.
1 |
24 |
25 |
48 |
49 |
72 |
127 |
138 |
103 |
114 |
79 |
90 |
143 |
122 |
119 |
98 |
95 |
74 |
17 |
8 |
41 |
32 |
65 |
56 |
3 |
22 |
27 |
46 |
51 |
70 |
129 |
136 |
105 |
112 |
81 |
88 |
141 |
124 |
117 |
100 |
93 |
76 |
15 |
10 |
39 |
34 |
63 |
58 |
5 |
20 |
29 |
44 |
53 |
68 |
131 |
134 |
107 |
110 |
83 |
86 |
139 |
126 |
115 |
102 |
91 |
78 |
13 |
12 |
37 |
36 |
61 |
60 |
18 |
7 |
42 |
31 |
66 |
55 |
144 |
121 |
120 |
97 |
96 |
73 |
128 |
137 |
104 |
113 |
80 |
89 |
2 |
23 |
26 |
47 |
50 |
71 |
16 |
9 |
40 |
33 |
64 |
57 |
142 |
123 |
118 |
99 |
94 |
75 |
130 |
135 |
106 |
111 |
82 |
87 |
4 |
21 |
28 |
45 |
52 |
69 |
14 |
11 |
38 |
35 |
62 |
59 |
140 |
125 |
116 |
101 |
92 |
77 |
132 |
133 |
108 |
109 |
84 |
85 |
6 |
19 |
30 |
43 |
54 |
67 |
Рис. 39
А теперь дублирую из второй части этой статьи квадрат, который был построен методом качелей (рис. 40):
1 |
24 |
25 |
48 |
49 |
72 |
127 |
138 |
79 |
90 |
103 |
114 |
143 |
122 |
119 |
98 |
95 |
74 |
17 |
8 |
65 |
56 |
41 |
32 |
3 |
22 |
27 |
46 |
51 |
70 |
129 |
136 |
81 |
88 |
105 |
112 |
141 |
124 |
117 |
100 |
93 |
76 |
15 |
10 |
63 |
58 |
39 |
34 |
5 |
20 |
29 |
44 |
53 |
68 |
131 |
134 |
83 |
86 |
107 |
110 |
139 |
126 |
115 |
102 |
91 |
78 |
13 |
12 |
61 |
60 |
37 |
36 |
18 |
7 |
66 |
55 |
42 |
31 |
144 |
121 |
120 |
97 |
96 |
73 |
128 |
137 |
80 |
89 |
104 |
113 |
2 |
23 |
26 |
47 |
50 |
71 |
16 |
9 |
64 |
57 |
40 |
33 |
142 |
123 |
118 |
99 |
94 |
75 |
130 |
135 |
82 |
87 |
106 |
111 |
4 |
21 |
28 |
45 |
52 |
69 |
14 |
11 |
62 |
59 |
38 |
35 |
140 |
125 |
116 |
101 |
92 |
77 |
132 |
133 |
84 |
85 |
108 |
109 |
6 |
19 |
30 |
43 |
54 |
67 |
Рис. 40
Сравните эти квадраты. Вы видите, что я была совсем близка к цели: надо просто переставить полустолбцы в выделенных частях квадрата на рис. 40. И совершенный квадрат готов! Очевидно, что была допущена ошибка при переносе чисел из образующей таблицы в матрицу для квадрата. Таким образом, уважаемые читатели, вы видите весь процесс моих исследований, проб и ошибок, и я думаю, что это н