|
|
A343369
|
|
Triangle read by rows: T(n,k) is the number of polygons formed by connecting the vertices of a regular 2n-gon such that the winding number around the center is k and with no side passing through the center.
|
|
2
|
|
|
0, 0, 1, 6, 10, 0, 296, 391, 56, 1, 21580, 28298, 6132, 246, 0, 2317884, 3137098, 859536, 70389, 1012, 1, 349281380, 490054052, 158307216, 19756138, 711692, 4082, 0, 70651004192, 102443715659, 37521267472, 6221752657, 390266848, 6782563, 16368, 1
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,4
|
|
COMMENTS
|
Polygons that differ by rotation or reflection are counted separately.
T(1,0)=0 by convention.
|
|
LINKS
|
|
|
FORMULA
|
T(2*n,2*n-1) = 1 and T(2*n+1,2*n) = 0 for all n>=1.
T(n,n-2) = 4^(n-1)-2*n for all n>=2.
|
|
EXAMPLE
|
Triangle begins:
0;
0, 1;
6, 10, 0;
296, 391, 56, 1;
21580, 28298, 6132, 246, 0;
|
|
PROG
|
(PARI)
T(n)={
local(Cache=Map());
my(dir(p, q)=if(p<n, if(q>=n&&q<p+n, 'x, 1), if(q<n&&q>p-n, 1/'x, 1)));
my(recurse(k, p, b) = my(hk=[k, p, b], z); if(!mapisdefined(Cache, hk, &z),
z = if(k==0, p<>n, sum(q=1, 2*n-1, if(!bittest(b, q) && (q-p)%n, dir(p, q)*self()(k-1, q, b+(1<<q)) )));
mapput(Cache, hk, z)); z);
my(p=recurse(2*n-1, 0, 0));
vector(n, i, polcoef(p, i-1)/if(i==1, 2, 1))
}
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|