%I #50 Jun 12 2022 12:00:59
%S 1,3,8,21,60,197,756,3367,17136,98153,624804,4375283,33424512,
%T 276622829,2465449252,23543304919,239810132288,2595353815825,
%U 29740563986500,359735190398875,4580290700420064,61233976084442741
%N Boustrophedon transform of natural numbers, cf. A000027.
%H Reinhard Zumkeller, <a href="/A000737/b000737.txt">Table of n, a(n) for n = 0..400</a>
%H Peter Luschny, <a href="http://oeis.org/wiki/User:Peter_Luschny/SeidelTransform">An old operation on sequences: the Seidel transform</a>
%H J. Millar, N. J. A. Sloane and N. E. Young, A new operation on sequences: the Boustrophedon transform, J. Combin. Theory, 17A 44-54 1996 (<a href="http://neilsloane.com/doc/bous.txt">Abstract</a>, <a href="http://neilsloane.com/doc/bous.pdf">pdf</a>, <a href="http://neilsloane.com/doc/bous.ps">ps</a>).
%H N. J. A. Sloane, <a href="/transforms.txt">Transforms</a>
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Boustrophedon_transform">Boustrophedon transform</a>
%H <a href="/index/Bo#boustrophedon">Index entries for sequences related to boustrophedon transform</a>
%F E.g.f.: (1 + x)*(tan x + sec x)*exp(x).
%F a(n) ~ n! * (Pi + 2)*exp(Pi/2)*2^(n+1)/Pi^(n+1). - _Vaclav Kotesovec_, Oct 02 2013
%t CoefficientList[Series[(1+x)*(Tan[x]+1/Cos[x])* E^x, {x, 0, 20}], x]* Range[0, 20]! (* _Vaclav Kotesovec_, Oct 02 2013 *)
%t t[n_, 0] := n + 1; t[n_, k_] := t[n, k] = t[n, k - 1] + t[n - 1, n - k]; a[n_] := t[n, n]; Array[a, 30, 0] (* _Jean-François Alcover_, Feb 12 2016 *)
%o (Sage) # Algorithm of L. Seidel (1877)
%o def A000737_list(n) :
%o R = []; A = {-1:0, 0:0}
%o k = 0; e = 1
%o for i in range(n) :
%o Am = i+1
%o A[k + e] = 0
%o e = -e
%o for j in (0..i) :
%o Am += A[k]
%o A[k] = Am
%o k += e
%o # To trace the algorithm remove the comment sign.
%o # print([A[z] for z in (-i//2..i//2)])
%o R.append(A[e*i//2])
%o return R
%o A000737_list(10) # _Peter Luschny_, Jun 02 2012
%o (Haskell)
%o a000737 n = sum $ zipWith (*) (a109449_row n) [1..]
%o -- _Reinhard Zumkeller_, Nov 05 2013
%o (Python)
%o from itertools import count, accumulate, islice
%o def A000737_gen(): # generator of terms
%o blist = tuple()
%o for i in count(1):
%o yield (blist := tuple(accumulate(reversed(blist),initial=i)))[-1]
%o A000737_list = list(islice(A000737_gen(),40)) # _Chai Wah Wu_, Jun 12 2022
%Y Cf. A231179.
%K nonn
%O 0,2
%A _N. J. A. Sloane_