错排问题是组合数学中的问题之一。考虑一个有
  
    
      
        n
      
    
    {\displaystyle n}
  
个元素的排列，若一个排列中所有的元素都不在自己原来的位置上，那么这样的排列就称为原排列的一个错排。 
  
    
      
        n
      
    
    {\displaystyle n}
  
个元素的错排数记为
  
    
      
        
          D
          
            n
          
        
      
    
    {\displaystyle D_{n}}
  
或
  
    
      
        !
        n
      
    
    {\displaystyle !n}
  
。 研究一个排列错排个数的问题，叫做错排问题或称为更列问题。
最早研究错排问题的是尼古拉·伯努利和欧拉，因此历史上也称为伯努利-欧拉的装错信封的问题。这个问题有许多具体的版本，如在写信时将
  
    
      
        n
      
    
    {\displaystyle n}
  
封信装到
  
    
      
        n
      
    
    {\displaystyle n}
  
个不同的信封里，有多少种全部装错信封的情况？又比如四人各写一张贺年卡互相赠送，有多少种赠送方法？自己写的贺年卡不能送给自己，所以也是典型的错排问题。


定義 記
  
    
      
        
          D
          
            n
          
        
      
    
    {\displaystyle D_{n}}
  
為
  
    
      
        {
        1
        ,
        2
        ,
        …
        ,
        n
        }
      
    
    {\displaystyle \{1,2,\dots ,n\}}
  
上沒有不動點的排列(即
  
    
      
        ϕ
        :
        {
        1
        ,
        2
        ,
        …
        ,
        n
        }
        →
        {
        1
        ,
        2
        ,
        …
        ,
        n
        }
        ,
         
        ϕ
        (
        i
        )
        =
        i
        ,
         
        ∀
        1
        ≤
        i
        ≤
        n
      
    
    {\displaystyle \phi :\{1,2,\dots ,n\}\to \{1,2,\dots ,n\},\ \phi (i)\neq i,\ \forall 1\leq i\leq n}
  
)的個數，
  
    
      
        
          D
          
            n
          
        
      
    
    {\displaystyle D_{n}}
  
的值如下：（由
  
    
      
        n
        =
        1
      
    
    {\displaystyle n=1}
  
起）

0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961, 14684570, 176214841, 2290792932, ... 
不難發現，這個數列有一個規律，

  
    
      
        
          D
          
            n
          
        
        =
        n
        
          D
          
            n
            −
            1
          
        
        +
        (
        −
        1
        
          )
          
            n
          
        
      
    
    {\displaystyle D_{n}=nD_{n-1}+(-1)^{n}}
  
。
例如有
  
    
      
        n
      
    
    {\displaystyle n}
  
封收件人不同的信，隨機放入
  
    
      
        n
      
    
    {\displaystyle n}
  
個寫了收件人地址的信封中寄出，求沒有一個收件人收到他所應接收的信的機率。當
  
    
      
        n
        =
        4
      
    
    {\displaystyle n=4}
  
，設四封信為ABCD，則在
  
    
      
        4
        !
        =
        24
      
    
    {\displaystyle 4!=24}
  
個排列之中，只有9個是錯排，即
  
    
      
        !
        4
        =
        9
      
    
    {\displaystyle !4=9}
  
：

BADC, BCDA, BDAC, CADB, CDAB, CDBA, DABC, DCAB, DCBA
所以其機率為

  
    
      
        
          
            9
            24
          
        
        =
        37.5
        %
      
    
    {\displaystyle {\frac {9}{24}}=37.5\%}
  
。


历史 18世纪的法国数学家尼古拉·伯努利（1687-1759年）是最早考虑这个问题的人。之后欧拉也开始对这个问题感兴趣，并称之为“组合数学中的一个奇妙问题”（拉丁文：a quaestio curiosa ex doctrina combinationis），并独立解决了这个问题。


研究错排问题的方法 = 枚举法 =
对于情况较少的排列，可以使用枚举法。

当n=1时，全排列只有一种，不是错排，D1 = 0。
当n=2时，全排列有两种，即1、2和2、1，后者是错排，D2 = 1。
当n=3时，全排列有六种，即1、2、3；1、3、2；2、1、3；2、3、1；3、1、2；3、2、1，其中只有有3、1、2和2、3、1是错排，D3=2。用同样的方法可以知道D4=9。
最小的几个错排数是：D1 = 0，D2 = 1，D3=2，D4 = 9，D5 = 44，D6 = 265，D7 = 1854。


= 递推数列法 =
对于排列数较多的情况，难以采用枚举法。这时可以用递归思想推导错排数的遞迴關係式。
显然D1=0，D2=1。当n≥3时，不妨设n排在了第k位，其中k=n，也就是1≤k≤n-1。那么我们现在考虑k的情况。

当k排在第n位时，除了n和k以外还有n-2个数，其错排数为Dn-2。
当k不排在第n位时，那就會剩下n-1個空位(原本n個位置扣掉第k位)和n-1個數字，在排除了排在第k位的n後，由於k不在第n位，等價於把第n個空位改名為k的錯排問題。其错排数为Dn-1。
所以当n排在第k位时共有Dn-2+Dn-1种错排方法，又k有从1到n-1共n-1种取法，我们可以得到：

Dn=(n-1)(Dn-1+Dn-2) 
在上面我们得到
Dn=(n-1)(Dn-1+Dn-2)
从这个公式中我们可以推出Dn的通项公式，方法如下：
为书写方便，记Dn = n!Mn，则M1 = 0, M2 = 
  
    
      
        
          
            1
            2
          
        
      
    
    {\displaystyle {\frac {1}{2}}}
  

当n大于等于3时，由
Dn = (n-1)(Dn-1 + Dn-2)，
即

  
    
      
        n
        !
        
          M
          
            n
          
        
        =
        (
        n
        −
        1
        )
        (
        n
        −
        1
        )
        !
        
          M
          
            n
            −
            1
          
        
        +
        (
        n
        −
        1
        )
        (
        n
        −
        2
        )
        !
        
          M
          
            n
            −
            2
          
        
        =
        n
        !
        
          M
          
            n
            −
            1
          
        
        −
        (
        n
        −
        1
        )
        !
        
          M
          
            n
            −
            1
          
        
        +
        (
        n
        −
        1
        )
        !
        
          M
          
            n
            −
            2
          
        
      
    
    {\displaystyle n!M_{n}=(n-1)(n-1)!M_{n-1}+(n-1)(n-2)!M_{n-2}=n!M_{n-1}-(n-1)!M_{n-1}+(n-1)!M_{n-2}}
  
。
所以，
  
    
      
        n
        
          M
          
            n
          
        
        −
        n
        
          M
          
            n
            −
            1
          
        
        =
        −
        
          M
          
            n
            −
            1
          
        
        +
        
          M
          
            n
            −
            2
          
        
      
    
    {\displaystyle nM_{n}-nM_{n-1}=-M_{n-1}+M_{n-2}}
  
。
于是有 
  
    
      
        
          M
          
            n
          
        
        −
        
          M
          
            n
            −
            1
          
        
        =
        −
        
          
            1
            n
          
        
        (
        
          M
          
            n
            −
            1
          
        
        −
        
          M
          
            n
            −
            2
          
        
        )
        =
        .
        .
        .
        =
        (
        −
        
          
            1
            n
          
        
        )
        (
        −
        
          
            1
            
              n
              −
              1
            
          
        
        )
        .
        .
        .
        (
        −
        
          
            1
            3
          
        
        )
        (
        
          M
          
            2
          
        
        −
        
          M
          
            1
          
        
        )
        =
        (
        −
        1
        
          )
          
            n
          
        
        
          
            1
            
              n
              !
            
          
        
        .
      
    
    {\displaystyle M_{n}-M_{n-1}=-{\frac {1}{n}}(M_{n-1}-M_{n-2})=...=(-{\frac {1}{n}})(-{\frac {1}{n-1}})...(-{\frac {1}{3}})(M_{2}-M_{1})=(-1)^{n}{\frac {1}{n!}}.}
  

所以

  
    
      
        
          
            
              
                
                  M
                  
                    n
                  
                
                −
                
                  M
                  
                    n
                    −
                    1
                  
                
              
              
                
                =
                (
                −
                1
                
                  )
                  
                    n
                  
                
                
                  
                    1
                    
                      n
                      !
                    
                  
                
              
            
            
              
                
                  M
                  
                    n
                    −
                    1
                  
                
                −
                
                  M
                  
                    n
                    −
                    2
                  
                
              
              
                
                =
                (
                −
                1
                
                  )
                  
                    (
                    n
                    −
                    1
                    )
                  
                
                
                  
                    1
                    
                      (
                      n
                      −
                      1
                      )
                      !
                    
                  
                
              
            
            
              
                ⋮
                
              
              
                
                =
                
                ⋮
              
            
            
              
                
                  M
                  
                    2
                  
                
                −
                
                  M
                  
                    1
                  
                
              
              
                
                =
                (
                −
                1
                
                  )
                  
                    2
                  
                
                
                  
                    1
                    
                      2
                      !
                    
                  
                
              
            
          
        
      
    
    {\displaystyle {\begin{aligned}M_{n}-M_{n-1}&=(-1)^{n}{\frac {1}{n!}}\\M_{n-1}-M_{n-2}&=(-1)^{(n-1)}{\frac {1}{(n-1)!}}\\\vdots \quad &=\quad \vdots \\M_{2}-M_{1}&=(-1)^{2}{\frac {1}{2!}}\\\end{aligned}}}
  

将上面式子分边累加，得

  
    
      
        
          M
          
            n
          
        
        =
        (
        −
        1
        
          )
          
            2
          
        
        
          
            1
            
              2
              !
            
          
        
        +
        (
        −
        1
        
          )
          
            3
          
        
        
          
            1
            
              3
              !
            
          
        
        .
        .
        .
        +
        (
        −
        1
        
          )
          
            n
          
        
        
          
            1
            
              n
              !
            
          
        
        .
      
    
    {\displaystyle M_{n}=(-1)^{2}{\frac {1}{2!}}+(-1)^{3}{\frac {1}{3!}}...+(-1)^{n}{\frac {1}{n!}}.}
  

因此，我们得到错排公式

  
    
      
        
          D
          
            n
          
        
        =
        n
        !
        
          M
          
            n
          
        
        =
        n
        !
        (
        
          
            1
            
              2
              !
            
          
        
        −
        
          
            1
            
              3
              !
            
          
        
        +
        .
        .
        .
        +
        (
        −
        1
        
          )
          
            n
          
        
        
          
            1
            
              n
              !
            
          
        
        )
        .
      
    
    {\displaystyle D_{n}=n!M_{n}=n!({\frac {1}{2!}}-{\frac {1}{3!}}+...+(-1)^{n}{\frac {1}{n!}}).}
  


多项式模拟 x
          
            1
          
        
        ,
        
          x
          
            2
          
        
        ,
        .
        .
        .
        ,
        
          x
          
            n
          
        
      
    
    {\displaystyle x_{1},x_{2},...,x_{n}}
  
错排，
  
    
      
        
          x
          
            1
          
        
      
    
    {\displaystyle x_{1}}
  
需排在
  
    
      
        
          x
          
            2
          
        
        ,
        
          x
          
            3
          
        
        ,
        .
        .
        .
        ,
        
          x
          
            n
          
        
      
    
    {\displaystyle x_{2},x_{3},...,x_{n}}
  
、
  
    
      
        
          x
          
            2
          
        
      
    
    {\displaystyle x_{2}}
  
需排在
  
    
      
        
          x
          
            1
          
        
        ,
        
          x
          
            3
          
        
        ,
        .
        .
        .
        ,
        
          x
          
            n
          
        
      
    
    {\displaystyle x_{1},x_{3},...,x_{n}}
  
如此类推。
记
  
    
      
        s
        =
        
          ∑
          
            r
            =
            1
          
          
            n
          
        
        
          x
          
            r
          
        
      
    
    {\displaystyle s=\sum _{r=1}^{n}x_{r}}
  
，错排结果为
  
    
      
        
          
            ∏
            
              r
              =
              1
            
            
              n
            
          
          (
          s
          −
          
            x
            
              r
            
          
          )
        
      
    
    {\displaystyle \displaystyle \prod _{r=1}^{n}(s-x_{r})}
  
中
  
    
      
        
          
            ∏
            
              r
              =
              1
            
            
              n
            
          
          
            x
            
              r
            
          
        
      
    
    {\displaystyle \displaystyle \prod _{r=1}^{n}x_{r}}
  
的系数
记
  
    
      
        
          a
          
            r
          
        
        =
        (
        −
        1
        
          )
          
            r
          
        
        ∑
        
          x
          
            1
          
        
        
          x
          
            2
          
        
        .
        .
        .
        
          x
          
            r
          
        
      
    
    {\displaystyle a_{r}=(-1)^{r}\sum x_{1}x_{2}...x_{r}}
  
为基本对称多项式，

  
    
      
        
          
            ∏
            
              r
              =
              1
            
            
              n
            
          
          (
          s
          −
          
            x
            
              r
            
          
          )
          =
          
            ∑
            
              r
              =
              0
            
            
              n
            
          
          
            a
            
              r
            
          
          
            s
            
              n
              −
              r
            
          
          =
          
            ∑
            
              r
              =
              2
            
            
              n
            
          
          
            a
            
              r
            
          
          
            s
            
              n
              −
              r
            
          
        
      
    
    {\displaystyle \displaystyle \prod _{r=1}^{n}(s-x_{r})=\sum _{r=0}^{n}a_{r}s^{n-r}=\sum _{r=2}^{n}a_{r}s^{n-r}}
  

从
  
    
      
        
          a
          
            r
          
        
      
    
    {\displaystyle a_{r}}
  
选出
  
    
      
        
          x
          
            1
          
        
        ,
        
          x
          
            2
          
        
        ,
        .
        .
        .
        ,
        
          x
          
            r
          
        
      
    
    {\displaystyle x_{1},x_{2},...,x_{r}}
  
，然后从
  
    
      
        
          s
          
            n
            −
            r
          
        
      
    
    {\displaystyle s^{n-r}}
  
选出
  
    
      
        
          x
          
            r
            +
            1
          
        
        ,
        
          x
          
            r
            +
            2
          
        
        ,
        .
        .
        .
        ,
        
          x
          
            n
          
        
      
    
    {\displaystyle x_{r+1},x_{r+2},...,x_{n}}
  
，组成
  
    
      
        
          
            ∏
            
              r
              =
              1
            
            
              n
            
          
          
            x
            
              r
            
          
        
      
    
    {\displaystyle \displaystyle \prod _{r=1}^{n}x_{r}}
  

从
  
    
      
        
          a
          
            r
          
        
      
    
    {\displaystyle a_{r}}
  
选出r个x有
  
    
      
        
          C
          
            r
          
          
            n
          
        
      
    
    {\displaystyle C_{r}^{n}}
  
种可能，从
  
    
      
        s
      
    
    {\displaystyle s}
  
选出其余的n-r个x有

  
    
      
        
          
            
              (
              n
              −
              r
              )
              !
            
            
              1
              !
              1
              !
              .
              .
              .1
              !
            
          
        
        =
        (
        n
        −
        r
        )
        !
      
    
    {\displaystyle {\frac {(n-r)!}{1!1!...1!}}=(n-r)!}
  

种可能

  
    
      
        
          
            ∑
            
              r
              =
              2
            
            
              n
            
          
          (
          −
          1
          
            )
            
              r
            
          
          
            C
            
              r
            
            
              n
            
          
          (
          n
          −
          r
          )
          !
          =
          n
          !
          
            ∑
            
              r
              =
              2
            
            
              n
            
          
          
            
              
                (
                −
                1
                
                  )
                  
                    r
                  
                
              
              
                r
                !
              
            
          
        
      
    
    {\displaystyle \displaystyle \sum _{r=2}^{n}(-1)^{r}C_{r}^{n}(n-r)!=n!\sum _{r=2}^{n}{\frac {(-1)^{r}}{r!}}}
  


简化公式 错位排列数的公式可以简化为：
  
    
      
        
          D
          
            n
          
        
        =
        
          ⌊
          
            
              
                
                  n
                  !
                
                e
              
            
            +
            0.5
          
          ⌋
        
        ,
      
    
    {\displaystyle D_{n}=\left\lfloor {\frac {n!}{e}}+0.5\right\rfloor ,}
  

其中的 
  
    
      
        ⌊
        n
        ⌋
      
    
    {\displaystyle \lfloor n\rfloor }
  
 为高斯取整函数（小于等于 n 的最大整数）。
这个简化公式可以由之前的错排公式推导出来。事实上，考虑指数函数在 0 处的泰勒展开：

  
    
      
        
          
            
              
                
                  e
                  
                    −
                    1
                  
                
              
              
                
                =
                1
                +
                
                  
                    
                      
                        (
                        
                          −
                          1
                        
                        )
                      
                      
                        1
                      
                    
                    
                      1
                      !
                    
                  
                
                +
                
                  
                    
                      
                        (
                        
                          −
                          1
                        
                        )
                      
                      
                        2
                      
                    
                    
                      2
                      !
                    
                  
                
                +
                ⋯
                +
                
                  
                    (
                    
                      −
                      1
                    
                    )
                  
                  
                    n
                  
                
                
                  
                    1
                    
                      n
                      !
                    
                  
                
                +
                
                  
                    
                      e
                      
                        −
                        c
                      
                    
                    
                      (
                      n
                      +
                      1
                      )
                      !
                    
                  
                
                
                  
                    (
                    
                      c
                      −
                      1
                    
                    )
                  
                  
                    n
                  
                
              
            
            
              
              
                
                =
                
                  
                    1
                    
                      2
                      !
                    
                  
                
                −
                
                  
                    1
                    
                      3
                      !
                    
                  
                
                +
                ⋯
                +
                
                  
                    (
                    
                      −
                      1
                    
                    )
                  
                  
                    n
                  
                
                
                  
                    1
                    
                      n
                      !
                    
                  
                
                +
                
                  R
                  
                    n
                  
                
              
            
            
              
              
                
                =
                
                  
                    
                      D
                      
                        n
                      
                    
                    
                      n
                      !
                    
                  
                
                +
                
                  R
                  
                    n
                  
                
              
            
          
        
      
    
    {\displaystyle {\begin{aligned}e^{-1}&=1+{\frac {\left(-1\right)^{1}}{1!}}+{\frac {\left(-1\right)^{2}}{2!}}+\cdots +\left(-1\right)^{n}{\frac {1}{n!}}+{\frac {e^{-c}}{(n+1)!}}\left(c-1\right)^{n}\\&={\frac {1}{2!}}-{\frac {1}{3!}}+\cdots +\left(-1\right)^{n}{\frac {1}{n!}}+R_{n}\\&={\frac {D_{n}}{n!}}+R_{n}\\\end{aligned}}}
  

所以，
  
    
      
        
          
            
              n
              !
            
            e
          
        
        −
        
          D
          
            n
          
        
        =
        n
        !
        
        
          R
          
            n
          
        
      
    
    {\displaystyle {\frac {n!}{e}}-D_{n}=n!\,R_{n}}
  
。其中 Rn 是泰勒展开的餘项，c 是介于 0 和 1 之间的某个实数。Rn 的绝对值上限为

  
    
      
        
          |
        
        
          R
          
            n
          
        
        
          |
        
        ⩽
        
          
            
              e
              
                0
              
            
            
              (
              n
              +
              1
              )
              !
            
          
        
        =
        
          
            1
            
              (
              n
              +
              1
              )
              !
            
          
        
      
    
    {\displaystyle |R_{n}|\leqslant {\frac {e^{0}}{(n+1)!}}={\frac {1}{(n+1)!}}}
  

  
    
      
        
          
            |
          
        
        
          
            
              n
              !
            
            e
          
        
        −
        
          D
          
            n
          
        
        
          
            |
          
        
        ⩽
        
          
            
              n
              !
            
            
              (
              n
              +
              1
              )
              !
            
          
        
        =
        
          
            1
            
              (
              n
              +
              1
              )
            
          
        
      
    
    {\displaystyle {\Big |}{\frac {n!}{e}}-D_{n}{\Big |}\leqslant {\frac {n!}{(n+1)!}}={\frac {1}{(n+1)}}}
  

当 n≥2 时，
  
    
      
        
          
            1
            
              (
              n
              +
              1
              )
            
          
        
      
    
    {\displaystyle {\frac {1}{(n+1)}}}
  
 严格小于 0.5，所以 
  
    
      
        
          D
          
            n
          
        
        =
        n
        !
        
          (
          
            
              
                1
                
                  2
                  !
                
              
            
            −
            
              
                1
                
                  3
                  !
                
              
            
            +
            .
            .
            .
            +
            (
            −
            1
            
              )
              
                n
              
            
            
              
                1
                
                  n
                  !
                
              
            
          
          )
        
      
    
    {\displaystyle D_{n}=n!\left({\frac {1}{2!}}-{\frac {1}{3!}}+...+(-1)^{n}{\frac {1}{n!}}\right)}
  
 是最接近 
  
    
      
        
          
            
              n
              !
            
            e
          
        
      
    
    {\displaystyle {\frac {n!}{e}}}
  
 的整数，可以写成

  
    
      
        
          D
          
            n
          
        
        =
        
          ⌊
          
            
              
                
                  n
                  !
                
                e
              
            
            +
            0.5
          
          ⌋
        
        .
      
    
    {\displaystyle D_{n}=\left\lfloor {\frac {n!}{e}}+0.5\right\rfloor .}
  


参考资料