错排公式:f(n) = (n-1)f(n-1)+(n-1)f(n-2)
例子:有N封信,每封信对应地址,求把每封信的地址都写错的(写成了其他信的地址)的可能性数。
代码:
public class WrongOrder {
public static void main(String[] args) {
int[] f = new int[10];
f[1] = 0;
f[2] = 1;
f[3] = 2;
for(int i = 4 ; i < 10 ; i++){
f[i] = (i-1)*(f[i-1]+f[i-2]);
}
for(int i = 0 ; i < 10 ; i++){
System.out.println(f[i]);
}
}
}