项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步
记录一下排列组合中一些重要又常用的公式。
1.
0
!
=
1
0! = 1
0!=1
2.
P
n
m
=
n
(
n
−
1
)
(
n
−
2
)
⋯
(
n
−
m
+
1
)
=
n
!
(
n
−
m
)
!
P_n ^ m = n(n-1)(n-2)\cdots (n-m+1) = \frac{n!}{(n-m)!}
Pnm=n(n−1)(n−2)⋯(n−m+1)=(n−m)!n!
3.
p
n
n
=
n
!
=
n
(
n
−
1
)
(
n
−
2
)
⋯
3
⋅
2
⋅
1
p_n ^ n = n! = n(n-1)(n-2)\cdots 3\cdot 2 \cdot 1
pnn=n!=n(n−1)(n−2)⋯3⋅2⋅1
4.
C
n
0
=
C
n
n
=
1
C_n^0 = C_n^n = 1
Cn0=Cnn=1
5.
C
n
1
=
C
n
n
−
1
=
n
C_n ^ 1 = C_n ^ {n-1} = n
Cn1=Cnn−1=n
6.
C
n
m
=
P
n
m
m
!
=
n
!
m
!
(
n
−
m
)
!
C_n^m = \frac{P_n^m}{m!} = \frac{n!}{m!(n-m)!}
Cnm=m!Pnm=m!(n−m)!n!
7.
C
n
m
=
C
n
n
−
m
C_n^m = C_n^{n-m}
Cnm=Cnn−m
8.
C
n
+
1
m
=
C
n
m
+
C
n
m
−
1
C_{n+1} ^ m = C_n^m + C_n ^ {m-1}
Cn+1m=Cnm+Cnm−1
9.
C
n
0
+
C
n
1
+
C
n
2
+
⋯
+
C
n
n
=
2
n
C_n^0 + C_n^1 + C_n^2 + \cdots + C_n^n = 2^n
Cn0+Cn1+Cn2+⋯+Cnn=2n
10.
C
n
0
+
C
n
2
+
C
n
4
=
C
n
1
+
C
n
3
+
C
n
5
=
2
n
−
1
C_n^0 + C_n^2 + C_n^4 = C_n^1 + C_n^3 + C_n^5 = 2^{n-1}
Cn0+Cn2+Cn4=Cn1+Cn3+Cn5=2n−1
其中,P是指排列,从N个元素中取M个进行排列。
C是指组合,从N个元素中取M个进行组合,不进行排列。