定义
卡特兰数是组合数学中一个常出现在各种计数问题中的数列。
递推关系式
C n = { 1 ( 0 ⩽ n ⩽ 1 ) C 0 C n − 1 + C 1 C n − 2 + ⋯ + C n − 1 C 0 ( n ⩾ 2 ) C_n=\left\{ \begin{array}{rcl} 1 & & {(0\leqslant n \leqslant 1)}\\ C_0C_{n-1}+C_1C_{n-2}+\cdots+C_{n-1}C_0 & & {(n \geqslant 2)} \end{array} \right. Cn={1C0Cn−1+C1Cn−2+⋯+Cn−1C0(0⩽n⩽1)(n⩾2)
代码
Var Catalan:array[0..25] of int64;
Var n,i,j:longint;
Begin
read(n);
Catalan[0]:=1;
Catalan[1]:=1;
for i:=2 to n do
Begin
for j:=0 to i-1 do
Begin
Catalan[i]:=Catalan[i]+Catalan[j]*Catalan[i-j-1];
end;
end;
write(Catalan[n]);
end.