相同[cperm_,n_]:=(对于[Same=False;i=2,(i<=n)&&!相同,i++,Same=((Mod[cperm[[i-1]],n]+1)==cperm[[i]])||(Mod[cperm[[i],n]+1)==cperm[[i-1])];相同=相同||((Mod[cperm[[n]],n]+1)==cperm[1]])||(Mod[cperm[[1]],n]+1)==cperm[[n]);返回[相同]);CntSame[n_]:=(allPerms=Permutations[Range[n]];count=0;对于[j=1,j<=n!,j++,perm=allPerms[[j]];如果[!Same[perm,n],count+]];返回[count]);
(*或直接计算术语*)
表[如果[n<3,0,n!+(-1)^n*2n+总和[(-1)|r*(n/(n-r))^2*(n-r(*瓦茨拉夫·科特索维奇2012年4月6日*)