Воспоминания Олигофрена. Моя математика

Работая над темой обхода конём шахматной доски я обязан был проверить: не возникает ли магический квадрат при таком движении коня, если поля отмечать номером хода?
Напомню: задача о коне, это задача обойти всю доску конём, попадая на каждое из полей только один раз.
Вот в качестве примера обход конём доски размаром 5х5 клеток из Википедии и его перенумеровки - внизу и справа указаны суммы в столбцах и строках.

Исходная нумерация полей
01_15_04_09_20___49
05_10_19_14_03___51
16_25_02_21_08___72
11_06_23_18_13___71
24_17_12_07_22___82

57_73_60_69_66

Нумерация полей получаемая путём программной перенумерации:
02_16_05_10_21___54
06_11_20_15_04___56
17_01_03_22_09___52
12_07_24_19_14___76
25_18_13_08_23___87

62_53_65_74_71

Обратим внимание, что вслед за 25 идет снова номер 1.

Третья расстановка - после второй программной перенумерации:
03_17_06_11_22___59
07_12_21_16_05___61
18_02_04_23_10___57
13_08_25_20_15___81
01_19_14_09_24___67

42_58_70_79_76


И так далее!

Уже теперь я написал небольшую программу для Эксцелл-таблиц, которая каждый раз позволяет перенумеровывать поля, проверяя - нет ли для изучаемого узора  подходящего типа нумерации ходов.

Sub номераходовконя()

For y = 2 To 6
    For x = 2 To 6
    Cells(x, y).Value = Cells(x, y).Value + 1
    If Cells(x, y).Value = 26 Then Cells(x, y).Value = 1
    Next x
Next y
   
End Sub

На каждой итерации мы получаем новую расстановку номеров и новые суммы в строках и столбцах, поскольку в этих клетках расположены формулы сумм соответствующих пяти полей.
Когда я был, скажем мягенько, моложе, не было у меня ни компьютера, ни Эксцелля, ни навыков программирования, и всю черновую работу приходилось делать вручную.
Вот на эти математические изыскания и ушло некоторое время моей непутёво прожитой жизни.


Рецензии