|设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!)