|设1,2,...,n的全排列b1,b2,...,bn的集合为A
而使bi=i的全排列的集合记为Ai(1<=i<=n)
则Dn=|A|-|A1∪A2∪...∪An|.
所以Dn=n!-|A1∪A2∪...∪An|.
注意到|Ai|=(n-1)!,|Ai∩Aj|=(n-2)!,...,|A1∩A2∩...∩An|=0!=1。
由容斥原理:
Dn=n!-|A1∪A2∪...∪An|
=n!-C(n,1)(n-1)!+C(n,2)(n-2)!-C(n,3)(n-3)!+...+(-1)^nC(n,n)*0!
=n!(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!)