login
A227926
Triangle read by rows: number of pyramid polycubes counted by height and volume.
4
1, 2, 1, 2, 4, 1, 3, 8, 4, 1, 2, 16, 10, 4, 1, 4, 22, 22, 10, 4, 1, 2, 36, 40, 24, 10, 4, 1, 4, 47, 66, 46, 24, 10, 4, 1, 3, 60, 110, 84, 48, 24, 10, 4, 1, 4, 83, 158, 144, 90, 48, 24, 10, 4, 1, 2, 100, 233, 232, 162, 92, 48, 24, 10, 4, 1, 6, 116, 327, 357, 266, 168, 92, 48, 24, 10, 4, 1, 2, 148, 444, 544, 435, 284, 170, 92, 48, 24, 10, 4, 1
OFFSET
1,2
COMMENTS
A pyramid polycube is obtained by gluing together horizontal plateaux (parallelepipeds of height 1) in such a way that (0,0,0) belongs to the first plateau and each cell with coordinate (0,b,c) belonging to the first plateau is such that b, c >= 0. If the cell with coordinates (a,b,c) belongs to the (a+1)-st plateau (a>0), then the cell with coordinates (a-1, b, c) belongs to the a-th plateau.
FORMULA
The number n_{i,j,h,v} of pyramids of volume v, height h and such that the highest plateau has volume i * j is given by the recurrence: n_{i,j,h,v} = Sum_{a=0..(i*j*h-v)/((h-1)*j)} Sum_{b=0..(j*(h*(i+a)-a)-v)/((i+a)*(k-1))} (a+1)*(b+1)*n_{i+a,j+a,h-1,v-i*j}.
MAPLE
calcPyr:=proc(i, j, k, l) option remember;
if (l<0) then 0
elif (i*j*k>l) then 0
elif k=1 then if (i*j=l) then 1 else 0; fi;
else s:=0; a:=0; b:=0;
while ((i+a)*j*(k-1)<=l-i*j) do
b:=0;
while ((i+a)*(j+b)*(k-1)<=l-i*j) do
s:=s+(a+1)*(b+1)*calcPyr(i+a, j+b, k-1, l-i*j);
b:=b+1;
od;
a:=a+1;
od;
s;
fi;
end;
countPyr:=proc(l)
s:=0;
for k to l do
i:=1:
while (i*k<=l) do
j:=1;
while (i*k*j<=l) do
s:=s+t^k*calcRecPyr(i, j, k, l);
j:=j+1;
od:
i:=i+1;
od;
od;
s;
end;
[1, seq(countPyr(ii), ii=1..200)];
CROSSREFS
The numbers of pyramids counted by volume are given by A229914.
Sequence in context: A209750 A156042 A287691 * A357121 A348296 A357120
KEYWORD
nonn,tabl
AUTHOR
STATUS
approved