login
Triangle read by rows: The n-th row is constructed by forming the partial sums of the previous row, reading from the right and if n is a triangular number repeating the final term.
4

%I #23 Aug 03 2021 19:05:00

%S 1,1,1,1,2,2,3,3,3,6,8,8,14,17,17,31,39,39,39,78,109,126,126,235,313,

%T 352,352,665,900,1026,1026,1926,2591,2943,2943,2943,5886,8477,10403,

%U 11429,11429,21832,30309,36195,39138,39138,75333,105642,127474,138903

%N Triangle read by rows: The n-th row is constructed by forming the partial sums of the previous row, reading from the right and if n is a triangular number repeating the final term.

%C ...

%H Reinhard Zumkeller, <a href="/A099964/b099964.txt">Rows n = 0..500 of triangle, flattened</a>

%e Triangle begins

%e 1;

%e 1, 1;

%e 1, 2,

%e 2, 3, 3;

%e 3, 6, 8,

%e 8, 14, 17,

%e 17, 31, 39, 39;

%e 39, 78, 109, 126,

%e 126, 235, 313, 352,

%e 352, 665, 900, 1026,

%e 1026, 1926, 2591, 2943, 2943;

%p with(linalg):rev:=proc(a) local n, p; n:=vectdim(a): p:=i->a[n+1-i]: vector(n,p) end: ps:=proc(a) local n, q; n:=vectdim(a): q:=i->sum(a[j],j=1..i): vector(n,q) end: pss:=proc(a) local n, q; n:=vectdim(a): q:=proc(i) if i<=n then sum(a[j],j=1..i) else sum(a[j],j=1..n) fi end: vector(n+1,q) end: tr:={seq(n*(n+1)/2,n=1..30)}: R[0]:=vector(1,1): for n from 1 to 15 do if member(n,tr)=false then R[n]:=ps(rev(R[n-1])) else R[n]:=pss(rev(R[n-1])) fi od: for n from 0 to 15 do evalm(R[n]) od; # _Emeric Deutsch_, Nov 16 2004

%t triQ[n_] := Reduce[ n == k(k+1)/2, k, Integers] =!= False; row[0] = {1}; row[1] = {1, 1}; row[n_] := row[n] = (ro = Accumulate[ Reverse[ row[n-1]]]; If[triQ[n], Append[ ro, Last[ro] ], ro]); Flatten[ Table[ row[n], {n, 0, 13}]](* _Jean-François Alcover_, Nov 24 2011 *)

%o (Haskell)

%o a099964 n k = a099964_tabf !! n !! k

%o a099964_row n = a099964_tabf !! n

%o a099964_tabf = scanl f [1] $ tail a010054_list where

%o f row t = if t == 1 then row' ++ [last row'] else row'

%o where row' = scanl1 (+) $ reverse row

%o -- _Reinhard Zumkeller_, May 02 2012

%Y First column (and row sums) gives A099965. Cf. A099966, A099968.

%Y If an extra term is added to /every/ row we get A008282. Cf. A099959, A099961.

%Y Cf. A010054.

%K nonn,tabf,nice,easy

%O 0,5

%A _N. J. A. Sloane_, Nov 13 2004

%E More terms from _Emeric Deutsch_, Nov 16 2004