|
PROG
|
(PARI)
for(n=1, 7, q=vector(n!); count=0; m2=matid(n); q[1]=m2; v=vector(n); for(i=1, n, v[i]=i); v3=vector(n); for(i=1, n, v3[i]=n-i+1);
while(v3!=v, for(i=1, n-1, if(v[i]<v[i+1], a=i); for(i=a+1, n, if(v[i]> v[a], b=i))); temp=v[a]; v[a]=v[b]; v[b]=temp;
v2=vector(n-(a+1)+1); for(i=1, n-(a+1)+1, v2[i]=v[n-i+1]); for(i=a+1, n, v[i]=v2[i-a]);
m=matrix(n, n); for(i=1, n, m[v[i], i]=1); q[count+2]=m; count++);
q2=vector(n!); for(i=1, n!, m2=prod(j=1, i, q[j]); for(i=1, n!, if(q[i]==m2, a2=i)); q2[a2]++ );
a3=0; for(i=1, n!, if(q2[i]>0, a3++)); print(a3))
|