A220603 First inverse function (numbers of rows) for pairing function A081344.
1, 2, 2, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4, 3, 2, 1, 1, 2, 3, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Offset: 1
Examples
The start of the sequence as triangle array T(n,k) read by rows, row number k contains 2k-1 numbers: 1; 2,2,1; 1,2,3,3,3; 4,4,4,4,3,2,1; ... If k is odd the row is 1,2,...,k,k...k (k times repetition "k" at the end of row). If k is even the row is k,k,...k,k-1,k-2,...1 (k times repetition "k" at the start of row).
Links
- Boris Putievskiy, Rows n = 1..140 of triangle, flattened
- Boris Putievskiy, Transformations Integer Sequences And Pairing Functions, arXiv:1212.2732 [math.CO], 2012.
Crossrefs
Cf. A081344.
Programs
-
Mathematica
row[n_] := If[OddQ[n], Range[n-1]~Join~Table[n, {n}], Table[n, {n}]~Join~ Range[n-1, 1, -1]]; row /@ Range[10] // Flatten (* Jean-François Alcover, Nov 19 2019 *)
-
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)
Formula
As a linear array, the sequence is a(n) = mod(t;2)*min{t; n - (t - 1)^2} + mod(t + 1; 2)*min{t; t^2 - n + 1}, where t=floor[sqrt(n-1)]+1.