login
Triangle read by rows. Row n consists of the parts, ordered nonincreasingly, of the integer partition having viabin number n.
7

%I #21 Aug 06 2024 09:55:30

%S 0,1,1,1,2,1,1,1,2,1,2,2,3,1,1,1,1,2,1,1,2,2,1,3,1,2,2,2,3,2,3,3,4,1,

%T 1,1,1,1,2,1,1,1,2,2,1,1,3,1,1,2,2,2,1,3,2,1,3,3,1,4,1,2,2,2,2,3,2,2,

%U 3,3,2,4,2,3,3,3,4,3,4,4,5,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,1,3,1,1,1,2,2,2,1,1,3,2,1,1,3,3,1,1,4,1,1,2,2,2,2,1,3,2,2,1,3,3,2,1,4,2,1,3,3,3,1,4,3,1,4,4,1,5,1,2,2,2,2,2,3,2,2,2,3,3,2,2

%N Triangle read by rows. Row n consists of the parts, ordered nonincreasingly, of the integer partition having viabin number n.

%C The viabin number of an integer partition is defined in the following way. Consider the southeast border of the Ferrers board of the integer partition and consider the binary number obtained by replacing each east step with 1 and each north step, except the last one, with 0. The corresponding decimal form is, by definition, the viabin number of the given integer partition. "Viabin" is coined from "via binary". For example, consider the integer partition [2,2,2,1]. The southeast border of its Ferrers board yields 10100, leading to the viabin number 20.

%C Number of entries in row n is A290251(n).

%C In the Maple program the command vitopart(n) yields the integer partition having viabin number n.

%H Alois P. Heinz, <a href="/A290253/b290253.txt">Rows n = 0..4095, flattened</a>

%e Row 25 is 3,2,2. Indeed, the binary form of 25 is 11001. Consequently, the southeast border of the Ferrers board of the associated partition is EENNEN, where E and N are the steps [1,0] and [0,1], respectively. This leads to the partition [3,2,2].

%e Triangle begins:

%e 0,

%e 1;

%e 1,1;

%e 2;

%e 1,1,1;

%e 2,1;

%e 2,2;

%e 3;

%p # (due to _W. Edwin Clark_)

%p vitopart := proc (n) local L, i, j, N, p, t; N := 2*n; L := ListTools:-Reverse(convert(N, base, 2)); j := 0; for i to nops(L) do if L[i] = 0 then j := j+1; p[j] := numboccur(L[1 .. i], 1) end if end do; sort([seq(p[t], t = 1 .. j)], `>=`) end proc:

%p # second Maple program:

%p T:= proc(n) local m; m:= n; [0]; while m>0 do `if`(1=

%p irem(m, 2, 'm'), map(x-> x+1, %), [%[], 0]) od: %[]

%p end:

%p seq(T(n), n=0..50); # _Alois P. Heinz_, Aug 23 2017

%t T[n_] := Module[{L = IntegerDigits[2n, 2], j = 0, p}, Do[If[L[[i]] == 0, j++; p[j] = Count[L[[;;i]], 1]], {i, 1, Length[L]}]; Array[p, j] // Reverse];

%t Table[T[n], {n, 0, 50}] // Flatten (* _Jean-François Alcover_, Aug 06 2024, after _W. Edwin Clark_ *)

%Y Row sums give A161511.

%Y Row lengths give A008687(n+1).

%Y Cf. A253563, A290251.

%K nonn,tabf

%O 0,5

%A _Emeric Deutsch_, Aug 23 2017