琪露诺(冰之妖精)有操控冷气的能力。能瞬间冻结小东西,比普通的妖精更危险。一直在释放冷气的她周围总是非常寒冷。
由于以下三点原因……
所以琪露诺便得到了“笨蛋”的别称。
某日,琪露诺又2了……
她写了N封信要装到N个信封里面,却全都装错了……现在想知道有多少种装错的可能性。
信和信封的数量N。
装错的可能性的数量。
输入样例1
2
|
输入样例2
4
|
输出样例1
1
|
输出样例2
9
|
1≤N≤100
错排通项经典好题。
考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。
f[1]=0;f[2]=1;
f[n] =(n-1)(f[n-2) + f[n-1])
f[n]:=n![1-1/1!+1/2!-1/3!……+(-1)^n*1/n!]
f[n] = (n!/e+0.5),其中e是自然对数的底,[x]为x的整数部分。
var n,i:longint; f:array[1..100000] of qword; begin readln(n); f[1]:=0;f[2]:=1; for i:=3 to n do f[i]:=(i-1)*(f[i-2]+f[i-1]); writeln(f[n]); end.
这是过不了滴,自己加高精的吧,啊哈哈哈哈哈哈哈哈哈\(^o^)/~
原文:http://www.cnblogs.com/yangqingli/p/4937265.html