%I #13 Sep 10 2019 21:36:30
%S 1,1,1,1,4,1,1,12,12,1,1,30,96,30,1,1,68,564,564,68,1,1,146,2800,6768,
%T 2800,146,1,1,304,12660,63008,63008,12660,304,1,1,622,54288,504648,
%U 1008128,504648,54288,622,1,1,1260,225860,3679344,13111504,13111504,3679344,225860,1260,1
%N Triangle read by rows: T(n,0)=1, T(n,n)=1, T(n, k) = 2*(n-k)*T(n-1, k-1) + 2*k*T(n-1, k).
%H G. C. Greubel, <a href="/A099759/b099759.txt">Rows n = 0..100 of triangle, flattened</a>
%F Sum_{k=0..n} T(n, k) = 2*(n-1)*(Sum_{k=0..n-1} T(n-1, k)) + 2 = A099760(n).
%e Triangle begins:
%e 1;
%e 1, 1;
%e 1, 4, 1;
%e 1, 12, 12, 1;
%e 1, 30, 96, 30, 1;
%e 1, 68, 564, 564, 68, 1;
%p T:=proc(n,k) if k=0 or n=k then 1 elif k>n then 0 else 2*(n-k)*T(n-1,k-1)+2*k*T(n-1,k) fi end: for n from 0 to 9 do [seq(T(n,k),k=0..n)] od; # gives the triangle row by row # _Emeric Deutsch_, Nov 16 2004
%t T[n_, k_]:= T[n, k]= If[k==0 || k==n, 1, 2*(n-k)*T[n-1, k-1] +2*k*T[n-1, k]]; Table[T[n, k], {n,0,9}, {k,0,n}]//Flatten (* _G. C. Greubel_, Sep 03 2019 *)
%o (PARI) T(n,k) = if(k==0 || k==n, 1, 2*(n-k)*T(n-1, k-1) + 2*k*T(n-1, k));
%o for(n=0,9, for(k=0,n, print1(T(n,k), ", "))) \\ _G. C. Greubel_, Sep 03 2019
%o (Sage)
%o def T(n, k):
%o if (k==0 or k==n): return 1
%o else: return 2*k*T(n-1, k) + 2*(n-k)* T(n-1, k-1)
%o [[T(n, k) for k in (0..n)] for n in (0..9)] # _G. C. Greubel_, Sep 03 2019
%o (GAP)
%o T:= function(n,k)
%o if k=0 or k=n then return 1;
%o else return 2*(n-k)*T(n-1,k-1) + 2*k*T(n-1,k);
%o fi;
%o end;
%o Flat(List([0..9], n-> List([0..n], k-> T(n,k) ))); # _G. C. Greubel_, Sep 03 2019
%Y Cf. A060187, A099760.
%K easy,tabl,nonn
%O 0,5
%A _Miklos Kristof_, Nov 11 2004
%E More terms from _Emeric Deutsch_, Nov 16 2004