一个人写了9封不同的信及相应的9个不同的信封,他把这n封信都装错了信封,问都装错信封的装法有多少种? 若1 2 3 4为正确排列,则所有元素均不在正确位置的排列称之为错排
#include <stdio.h>
int main(){
int n,i;
scanf("%d",&n);
int f[n+1];
f[1]=0;
f[2]=1;
for(i=3;i<=n;i++)
f[i]=(i-1)*(f[i-1]+f[i-2]);
printf("%d",f[n]);
return 0;
}