|
|
A216253
|
|
A213196 as table read layer by layer - layer clockwise, layer counterclockwise and so on.
|
|
1
|
|
|
1, 2, 5, 4, 3, 7, 10, 8, 6, 12, 14, 23, 20, 17, 9, 11, 13, 16, 26, 38, 43, 39, 21, 24, 15, 18, 27, 31, 35, 48, 63, 58, 42, 30, 25, 22, 19, 29, 34, 57, 53, 69, 76, 70, 64, 49, 36, 32, 28, 40, 44, 59, 54, 82, 88, 109, 102, 95, 75, 81, 52, 47, 33, 37, 41, 46, 62
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
Permutation of the natural numbers.
a(n) is a pairing function: a function that reversibly maps Z^{+} x Z^{+} onto Z^{+}, where Z^{+} is the set of integer positive numbers.
Call a "layer" a pair of sides of square from T(1,n) to T(n,n) and from T(n,n) to T(n,1). Table read by boustrophedonic ("ox-plowing") method.
Let m be natural number. The order of the list:
T(1,1)=1;
T(2,1), T(2,2), T(1,2);
. . .
T(1,2*m+1), T(2,2*m+1), ... T(2*m,2*m+1), T(2*m+1,2*m+1), T(2*m+1,2*m), ... T(2*m+1,1);
T(2*m,1), T(2*m,2), ... T(2*m,2*m-1), T(2*m,2*m), T(2*m-1,2*m), ... T(1,2*m);
. . .
The first row is layer read clockwise, the second row is layer counterclockwise.
|
|
LINKS
|
|
|
FORMULA
|
a(n) = (m1+m2-1)*(m1+m2-2)/2+m1, where m1=(3*i+j-1-(-1)^i+(i+j-2)*(-1)^(i+j))/4, m2=((1+(-1)^i)*((1+(-1)^j)*2*int((j+2)/4)-(-1+(-1)^j)*(2*int((i+4)/4)+2*int(j/2)))-(-1+(-1)^i)*((1+(-1)^j)*(1+2*int(i/4)+2*int(j/2))-(-1+(-1)^j)*(1+2*int(j/4))))/4, i=(t mod 2)*min(t; n-(t-1)^2) + (t+1 mod 2)*min(t; t^2-n+1), j=(t mod 2)*min(t; t^2-n+1) + (t+1 mod 2)*min(t; n-(t-1)^2), t=floor(sqrt(n-1))+1.
|
|
EXAMPLE
|
The start of the sequence as table:
1....4...3..11..13...
2....5...7...9..16...
6....8..10..17..26...
12..14..23..20..38...
15..24..21..39..43...
. . .
The start of the sequence as triangular array read by rows:
1;
2,5,4;
3,7,10,8,6;
12,14,23,20,17,9,11;
13,16,26,38,43,39,21,24,15;
. . .
Row number r contains 2*r-1 numbers.
|
|
PROG
|
(Python)
t=int((math.sqrt(n-1)))+1
i=(t % 2)*min(t, n-(t-1)**2) + ((t+1) % 2)*min(t, t**2-n+1)
j=(t % 2)*min(t, t**2-n+1) + ((t+1) % 2)*min(t, n-(t-1)**2)
m1=(3*i+j-1-(-1)**i+(i+j-2)*(-1)**(i+j))/4
m2=((1+(-1)**i)*((1+(-1)**j)*2*int((j+2)/4)-(-1+(-1)**j)*(2*int((i+4)/4)+2*int(j/2)))-(-1+(-1)**i)*((1+(-1)**j)*(1+2*int(i/4)+2*int(j/2))-(-1+(-1)**j)*(1+2*int(j/4))))/4
m=(m1+m2-1)*(m1+m2-2)/2+m1
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|