%I #13 Jul 17 2019 08:40:07
%S 1,1,1,1,3,1,1,5,5,1,1,6,13,6,1,1,7,24,24,7,1,1,8,31,61,31,8,1,1,9,39,
%T 116,116,39,9,1,1,10,48,155,293,155,48,10,1,1,11,58,203,564,564,203,
%U 58,11,1,1,12,69,261,767,1421,767,261,69,12,1
%N Triangular array T read by rows: T(n,1) = T(n,n) = 1, T(n,k) = T(n-1, k-1) + T(n-2,k-1) + T(n-1,k) if k=(n/2) or k=((n+1)/2), otherwise T(n,k) = T(n-1,k-1) + T(n-1,k).
%H G. C. Greubel, <a href="/A026703/b026703.txt">Rows n = 1..100 of triangle, flattened</a>
%F T(n, k) = number of paths from (0, 0) to (n-k, k) in the directed graph having vertices (i, j) and edges (i, j)-to-(i+1, j) and (i, j)-to-(i, j+1) for i, j >= 0 and edges (i, j)-to-(i+1, j+1) if |i-j|<=1.
%e Triangle begins:
%e 1,
%e 1, 1,
%e 1, 3, 1,
%e 1, 5, 5, 1,
%e 1, 6, 13, 6, 1,
%e 1, 7, 24, 24, 7, 1,
%e 1, 8, 31, 61, 31, 8, 1,
%e 1, 9, 39, 116, 116, 39, 9, 1,
%e ...
%t T[n_, k_]:= T[n, k]= If[k==1 || k==n, 1, If[k==n/2 || k==(n+1)/2 || k== (n+2)/2, T[n-1, k-1] +T[n-2, k-1] +T[n-1, k], T[n-1, k-1] +T[n-1, k]]];
%t Table[T[n, k], {n, 12}, {k, n}]//Flatten (* _G. C. Greubel_, Jul 17 2019 *)
%o (PARI) T(n,k) = if(k==1 || k==n, 1, if(k==n/2 || k==(n+1)/2 || k==(n+2)/2 , T(n-1, k-1) + T(n-2, k-1) + T(n-1, k), T(n-1, k-1) + T(n-1, k) ));
%o for(n=1,12, for(k=1,n, print1(T(n,k), ", "))) \\ _G. C. Greubel_, Jul 17 2019
%o (Sage)
%o def T(n, k):
%o if (k==1 or k==n): return 1
%o elif (k==n/2 or k==(n+1)/2 or k==(n+2)/2): return T(n-1, k-1) + T(n-2, k-1) + T(n-1, k)
%o else: return T(n-1, k-1) + T(n-1, k)
%o [[T(n, k) for k in (1..n)] for n in (1..12)] # _G. C. Greubel_, Jul 17 2019
%o (GAP)
%o T:= function(n,k)
%o if (k=1 or k=n) then return 1;
%o elif (k=Int(n/2) and k=Int((n+1)/2) or k=Int((n+2)/2)) then return T(n-1, k-1) + T(n-2, k-1) + T(n-1, k);
%o else return T(n-1, k-1) + T(n-1, k);
%o fi;
%o end;
%o Flat(List([1..12], n-> List([1..n], k-> T(n,k) ))); # _G. C. Greubel_, Jul 17 2019
%K nonn,tabl
%O 1,5
%A _Clark Kimberling_
|