Путь к идеалу. Ч 22

Ссылка на предыдущую часть:
http://proza.ru/2023/03/17/377

Итак, на Рис. 42  показан уникальный случай, когда ходы и перескоки производятся ходами шахматного коня.
  А вот для матрицы 9х9 такие фокусы уже не прошли! Не получался даже обычный магический квадрат! Дело оказалось в том, что число 9 кратно трем, и в этом оказалась собака зарыта. И для матрицы порядка 15 – то же самое. И для всех нечетных порядков, кратных трем. Поэтому пришлось разрабатывать совершенно другие подходы к решению задачи. На это ушло чуть менее года. Мной были открыты, так называемые, Цепи Александрова. Это такие последовательности n чисел из натурального ряда, которые обеспечивают идеальности для матриц порядка n=2k+1  и  n=4k. Вот эти Цепи (см. Рис. 43).
  Программа на языке Yabasic, позволяющая находить любые Цепи Александрова для любого диапазона порядков n:

rem Составление цепи Александрова
open #1,"5-29.txt","w"
dim p(1000),t(1000),r(1000)
for n=5 to 29
kA=(n-2)/4:if kA<>int(kA) then:s1=0
p(1)=1:p(2)=n:k=(n-4)/8
if n/2=int(n/2) then:if k=int(k) then
r1=n/2+2:p1=4*(k+1):p(r1)=2
for i=0 to k-0:p(r1+1+i)=p1-4*i:next i
p2=p1-5:r2=r1+k:p(r2)=p2
for i=0 to k-2:p(r2+i)=p2-4*i:next i
r3=r2+k-1:p(r3)=8
p(r3+1)=4:p(r3+2)=3:p(r3+3)=6
r4=r3+4:for i=0 to k-2:p(r4+i)=5+4*i:next i
r5=n:for i=0 to k-2:p(n-i)=p1-2-4*i:next i:fi
if k<>int(k) then:p(n/2+2)=2
for i=1 to n/4-1:p(n/2+2+i)=n/2-2*(i-1):next i
for j=1 to n/4-1:p(n/2+1+i+j)=3+2*(j-1):next j:fi
for i=3 to n/2+1:p(i)=n+1-p(n+3-i):next i:fi
if n/2<>int(n/2) then:n1=(n-3)/2
p(1)=1:p(2)=n:p((1+n)/2+1)=(1+n)/2:no=(n-3)/2
t(5)=3:t(7)=6:t(9)=2:if n=5 then p(3)=2:p(n)=4:fi
if n=7 then p(3)=3:p(4)=6:p(6)=2:p(n)=5:fi
if n=9 then p(3)=3:p(4)=6:p(5)=2:p(7)=8:p(8)=4:p(n)=7:fi
if n>9 then:t(11)=5:t(13)=7:t(15)=4:t(17)=8:t(19)=12
t(21)=9:s=21
for k=1 to (n+1)/2:for i=1 to 6:s=s+2:t(s)=6*k+t(9+2*i)
next i:next k
rem Блок корректировки значений t(i)
o=mod(n,12)
if o=11 then t(n-4)=t(n-4)-2:fi:if o=1 or o=7 then t(n)=t(n)-3:fi
s1=2:s0=0
for i=5 to n step 2:s1=s1+1:p(s1)=t(i):s0=s0+1:r(s0)=1+n-t(i)
next i:s1=s1+1
for i=n to 5 step -2:s1=s1+1:p(s1)=r(s0):s0=s0-1:next i:fi
s=0:s1=0:s0=0:fi:for i=1 to n:print p(i);:next i
for i=1 to n:print #1, p(i);:next i
print:print #1:print:print #1:fi:next n


Меня попросили немного продолжить таблицу Цепей Александрова. Хотя бы до n=40. Просьбу выполняю и распечатываю полный набор, чтобы легче было всем копировать:
1 5 2 3 4

 1 7 3 6 4 2 5

 1 8 6 5 7 2 4 3

 1 9 3 6 2 5 8 4 7

 1 11 3 4 2 5 6 7 10 8 9

 1 12 7 10 9 5 11 2 8 4 3 6

 1 13 3 6 2 5 4 7 10 9 12 8 11

 1 15 3 6 2 5 7 4 8 12 9 11 14 10 13

 1 16 10 12 14 13 11 9 15 2 8 6 4 3 5 7

 1 17 3 6 2 5 7 4 8 9 10 14 11 13 16 12 15

 1 19 3 6 2 5 7 4 8 9 10 11 12 16 13 15 18 14 17

 1 20 11 16 15 18 17 13 14 9 19 2 12 7 8 4 3 6 5 10

 1 21 3 6 2 5 7 4 8 12 9 11 13 10 14 18 15 17 20 16 19

 1 23 3 6 2 5 7 4 8 10 9 11 12 13 15 14 16 20 17 19 22 18 21

 1 24 14 16 18 20 22 21 19 17 15 13 23 2 12 10 8 6 4 3 5 7 9 11

 1 25 3 6 2 5 7 4 8 12 9 11 10 13 16 15 17 14 18 22 19 21 24 20 23

 1 27 3 6 2 5 7 4 8 12 9 11 13 10 14 18 15 17 19 16 20 24 21 23 26 22 25

 1 28 15 19 20 24 23 26 25 21 22 18 17 13 27 2 16 12 11 7 8 4 3 6 5 9 10 14

 1 29 3 6 2 5 7 4 8 12 9 11 13 10 14 15 16 20 17 19 21 18 22 26 23 25 28 24 27

 1 31 3 6 2 5 7 4 8 12 9 11 13 10 14 15 16 17 18 22 19 21 23 20 24 28 25 27 30 26 29

 1 32 18 20 22 24 26 28 30 29 27 25 23 21 19 17 31 2 16 14 12 10 8 6 4 3 5 7 9 11 13 15

 1 33 3 6 2 5 7 4 8 12 9 11 13 10 14 18 15 17 19 16 20 24 21 23 25 22 26 30 27 29 32 28 31

 1 35 3 6 2 5 7 4 8 12 9 11 13 10 14 16 15 17 18 19 21 20 22 26 23 25 27 24 28 32 29 31 34 30 33

 1 36 19 23 27 24 28 32 31 34 33 29 30 26 22 25 21 17 35 2 20 16 12 15 11 7 8 4 3 6 5 9 13 10 14 18

 1 37 3 6 2 5 7 4 8 12 9 11 13 10 14 18 15 17 16 19 22 21 23 20 24 28 25 27 29 26 30 34 31 33 36 32 35

 1 39 3 6 2 5 7 4 8 12 9 11 13 10 14 18 15 17 19 16 20 24 21 23 25 22 26 30 27 29 31 28 32 36 33 35 38 34 37

 1 40 22 24 26 28 30 32 34 36 38 37 35 33 31 29 27 25 23 21 39 2 20 18 16 14 12 10 8 6 4 3 5 7 9 11 13 15 17 19

Несколько конкретных примеров ИМК покажу в следующих частях.


Рецензии