Цепи Александрова

Георгий Александров
Цепи Александрова... Так я назвал последовательности натуральных чисел, при помощи которых можно единым образом строить идеальные магические квадраты (сокращенно ИМК) нечетного порядка n >3 и ИМК двойной четности, то есть n=4k, где k=1,2,3...
Сразу оговорюсь, что алгоритм составления цепи весьма непростой. Надо часов пять объяснять принцип чередования чисел. Проще дать блок программы на языке Yabasic. Любой опытный программист может в нем разобраться и конвертировать на иные языки. Итак, текст алгоритма:

rem Составление цепи Александрова
dim p(1000),t(1000),r(1000)
print "INPUT n  ";:input n
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
print
print

Прежде всего программа запросит число n . На экране будет  INPUT n ?
Если введем с клавиатуры, скажем 11,  и нажмем "Enter", то получим такую цепь Александрова:

1 11 3 4 2 5 6 7 10 8 9

На рисунке показана наглядная визуализация первых нескольких цепей. Красота бесподобная! Чёткая симметрия относительно центральной вертикали.

Ну, а далее уже вопрос построения ИМК. Есть статьи в инете, есть подробная лекция в ютубе.

23 сентября 2021 г.