阶乘算法
n
!
=
1
×
2
×
3
×
.
.
.
×
(
n
−
1
)
×
n
。
阶
乘
亦
可
以
递
归
方
式
定
义
:
0
!
=
1
,
n
!
=
(
n
−
1
)
!
×
n
n!=1×2×3×...×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n
n!=1×2×3×...×(n−1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n−1)!×n
排列公式
A
(
n
,
k
)
=
n
(
n
−
1
)
.
.
.
.
(
n
−
k
+
1
)
=
n
!
/
(
n
−
k
)
!
A(n,k)=n(n-1)....(n-k+1)=n!/(n-k)!
A(n,k)=n(n−1)....(n−k+1)=n!/(n−k)!
组合公式
C
(
n
,
k
)
=
A
(
n
,
k
)
/
k
!
=
n
!
/
k
!
(
n
−
k
)
!
=
C
n
n
−
k
C(n,k) ={A(n,k)/k!} = n!/k!(n-k)! = C_n^{n-k}
C(n,k)=A(n,k)/k!=n!/k!(n−k)!=Cnn−k
排列组合计算 n是元素的总个数,k是参数排列组合的个数,!是阶乘
deffactorial(N):
n =1for i inrange(1,N+1):
n *= i
return n
defAnk(n,k):return factorial(n)/factorial(n-k)defCnk(n,k):return factorial(n)/(factorial(k)*factorial(n-k))