МЕТОДЫ ПОСТРОЕНИЯ МАГИЧЕСКИХ КВАДРАТОВ

 

Часть 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.

 

 

***

 

       Пишите мне!

Рейтинг@Mail.ru

На главную страницу

 



Hosted by uCoz