用递归的方法解决信封问题!

来源:百度知道 编辑:UC知道 时间:2024/06/27 15:40:29
信封全都装错的可能性!有多少种可能
以5个为例有44种,
WHY???
讲解一下!!
谢了
要用PASCAL程序语言解决

我编了个程序算了一下,n从1到9,分别有0,1,2,9,44,265,1854,14833,133496.
对于第n个数的规律是这样的:f(1)=0;f(n)=f(n-1)*(n+1)-1+(n mod 2)*2;你可以验算一下.
递归法程序如下:
program sgxf;
var n:longint;
function f(x:longint):longint;
begin
if x=1 then f:=0
else if x=2 then f:=1;
else f(x):=f(x-1)*(n+1)-1+(x mod 2)*2;
end;
begin
readln(n);
writeln(f(n));
end.
如果编译器允许,你可以用int64类型.