n封信和n个信封,信全部装错.所有信装错有多少种可能?如n=5时有44种.用PASCAL语言解决

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/13 05:44:47
n封信和n个信封,信全部装错.所有信装错有多少种可能?如n=5时有44种.用PASCAL语言解决
xRQOP+իpK!R(h ^HB08 D0ƸI֘lc/v:^ܞ};߹7[Q4ݻOMy9M|Zl⧭`jxG[F9!sz=۵;[j;,Y/_=_~Kn5o+FIŬ?>6Vw0m.dƬf1 p2RIL2&R"I"!SMfߺ"p;&n]w@] U88'y".yJI✔q'`͝|oㅳE:FM~4-Y L 5Zy;;jiO9CvR]<=?ݯl;>v ,j~?IbjW 밷"

n封信和n个信封,信全部装错.所有信装错有多少种可能?如n=5时有44种.用PASCAL语言解决
n封信和n个信封,信全部装错.所有信装错有多少种可能?如n=5时有44种.
用PASCAL语言解决

n封信和n个信封,信全部装错.所有信装错有多少种可能?如n=5时有44种.用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类型.