login
Second inverse function (numbers of columns) for pairing function A188568.
3

%I #21 Feb 16 2022 11:59:10

%S 1,2,1,1,2,3,4,2,3,1,1,4,3,2,5,6,2,4,3,5,1,1,6,3,4,5,2,7,8,2,6,4,5,3,

%T 7,1,1,8,3,6,5,4,7,2,9,10,2,8,4,6,5,7,3,9,1,1,10,3,8,5,6,7,4,9,2,11

%N Second inverse function (numbers of columns) for pairing function A188568.

%H Boris Putievskiy, <a href="/A208234/b208234.txt">Rows n = 1..140 of triangle, flattened</a>

%H Boris Putievskiy, <a href="http://arxiv.org/abs/1212.2732">Transformations Integer Sequences And Pairing Functions</a>, arXiv:1212.2732 [math.CO], 2012.

%F a(n) = -max(i,j)*((-1)^i-1)/2+min(i,j)*((-1)^i+1)/2, if i>=j

%F a(n) = max(i,j)*((-1)^j+1)/2-min(i,j)*((-1)^j-1)/2, if i<j,

%F where t = floor((-1+sqrt(8*n-7))/2), i = n-t*(t+1)/2, j = (t*t+3*t+4)/2-n.

%e The start of the sequence as triangle array read by rows:

%e 1;

%e 2,1;

%e 1,2,3;

%e 4,2,3,1;

%e 1,4,3,2,5;

%e 6,2,4,3,5,1;

%e 1,6,3,4,5,2,7;

%e ...

%e Row number k contains permutation numbers form 1 to k.

%o (Python)

%o t=int((math.sqrt(8*n-7) - 1)/ 2)

%o i=n-t*(t+1)//2

%o j=(t*t+3*t+4)//2-n

%o if i>=j:

%o result=-max(i,j)*((-1)**i-1)/2+min(i,j)*((-1)**i+1)/2

%o else:

%o result= max(i,j)*((-1)**j+1)/2-min(i,j)*((-1)**j-1)/2

%Y Cf. A188568.

%K nonn

%O 1,2

%A _Boris Putievskiy_, Jan 10 2013