%I #37 Nov 08 2023 12:35:12
%S 1,1,1,2,2,3,3,6,7,12,12,21,23,39,43,74,81,138,151,257,281,479,525,
%T 895,981,1671,1830,3116,3414,5813,6370,10847,11887,20239,22177,37758,
%U 41375,70442,77193,131425,144020,245197,268693,457451,501288,853446,935235,1592242,1744834,2970580,3255261
%N Number of ways to stack n triangles symmetrically (pointing upwards or downwards depending on row parity).
%e a(9) = 12.
%e * * * * * * * * *
%e / \ / \ / \ / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*---*---*---*
%e .
%e * * * *---* * * *
%e / \ / \ / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*---*---*
%e .
%e * * *---*---* * *
%e / \ / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*---*
%e .
%e * *---* * *---* *
%e / \ / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*---*
%e .
%e *---* * * * *---*
%e / \ / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*---*
%e .
%e * *---*---*---* *
%e / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*
%e .
%e *---* *---* *---*
%e / \ / \ / \ / \ / \ / \
%e *---*---*---*---*---*---*
%e .
%e *---*---*---*---*
%e / \ / \ / \ / \ / \
%e *---*---*---*---*---*
%e .
%e * *
%e / \ / \
%e * *---*---* *
%e / \ / \ / \ / \ / \
%e *---*---*---*---*---*
%e .
%e * *
%e / \ / \
%e *---* * *---*
%e / \ / \ / \ / \ / \
%e *---*---*---*---*---*
%e .
%e * *
%e / \ / \
%e *---*---*---*
%e / \ / \ / \ / \
%e *---*---*---*---*
%e .
%e *
%e / \
%e *---*
%e / \ / \
%e *---*---*
%e / \ / \ / \
%e *---*---*---*
%e .
%p Motzk := proc(x,y,twoar)
%p option remember;
%p if x =0 then
%p if y <> 0 or twoar <>0 then
%p return 0;
%p else
%p return 1;
%p end if;
%p elif y < 0 or y > x or twoar <x then
%p return 0 ;
%p elif y = 0 then
%p if modp(x,2) = 0 then
%p return procname(x-1,y+1,twoar-2*y-1) ;
%p else
%p return 0 ;
%p end if;
%p elif modp(y,2) = modp(x,2) then
%p return procname(x-1,y+1,twoar-2*y-1)
%p +procname(x-1,y,twoar-2*y)
%p +procname(x-1,y-1,twoar-2*y+1) ;
%p else
%p return procname(x-1,y,twoar-2*y) ;
%p end if ;
%p end proc:
%p A316585 := proc(twoar)
%p local a,x,y ;
%p a:= 0 ;
%p for x from 0 to twoar do
%p for y from 0 to x do
%p a := a+Motzk(x,y,twoar) ;
%p end do:
%p end do:
%p a ;
%p end proc:
%p seq(A316585(n),n=0..50) ; # _R. J. Mathar_, Aug 23 2018
%t Motzk[x_, y_, twoar_] := Motzk[x, y, twoar] = Which[
%t x == 0, If[y != 0 || twoar != 0, 0, 1],
%t y < 0 || y > x || twoar < x, 0,
%t y == 0 , If[Mod[x, 2] == 0, Motzk[x - 1, y + 1, twoar - 2y - 1], 0],
%t Mod[y, 2] == Mod[x, 2], Motzk[x - 1, y + 1, twoar - 2y - 1] + Motzk[x - 1, y, twoar - 2y] + Motzk[x - 1, y - 1, twoar - 2y + 1],
%t True, Motzk[x - 1, y, twoar - 2y]];
%t A316585[twoar_] := Module[{a, x, y}, a = 0; For[x = 0, x <= twoar , x++, For[y = 0, y <= x, y++, a = a + Motzk[x, y, twoar]]]; a];
%t Table[A316585[n], {n, 0, 50}] (* _Jean-François Alcover_, Nov 08 2023, after _R. J. Mathar_ *)
%Y Cf. A224704, A316384.
%K nonn
%O 0,4
%A _Seiichi Manyama_, Jul 07 2018
%E a(36)-a(50) from _R. J. Mathar_, Aug 23 2018