~~~#UPDATE:又仔細想了下最后推導似乎有問題略囧所以僅供參考思路了~~~----你給出的這個“錯排遞推公式”,實際上有一個“直接”的計算公式:f(n)=n!*((-1)^0/0!+(-1)^1/1!+(-1)^2/2!+...+(-1)^n*1/n!)已知x=aX+by=cY+d(x+y)%m=(aX+b+cY+d)%m=(b+d)%m=(X%m+Y%m)%m記g(n)=f(n)%m則有g(2m+n)=((2m+n)!*([1]-1^0/0!+(-1)^1/1!+...+(-1)^(m-1)/(m-1)![2]+(-1)^m/m!+(-1)^(m+1)/(m+1)!+...+(-1)^(2m-1)/(2m-1)![3]+(-1)^(2m)/(2m)!+(-1)^(2m+1)/(2m+1)!+...+(-1)^(2m+n)/(2m+n)!))%m由于((2m+n)!*任意一個前2m項)%m==0,所以前兩行可以消掉(這個很容易看出來的吧?)g(2m+n)=((2m+n)!*((-1)^(2m)/(2m)!+(-1)^(2m+1)/(2m+1)!+...+(-1)^(2m+n)/(2m+n)!))%m~~~由于(-1)^2m==1~~~=((2m+n)!*((-1)^0/(2m)!+(-1)^1/(2m+1)!+...+(-1)^n/(2m+n)!))%m=((-1)^0/n!+(-1)^1/(n-1)!+...+(-1)^n/0!)%m這里已經很接近你說的結論了,由于n是奇偶的時候會影響這里的正負號,而我前面沒有證明(x-y)%m的公式,但是由于實際上前2m項減去后n項毫無疑問是正數(中間這些瑣碎的證明略掉),所以最終結論就是:g(2m+n)==g(n)