排列公式
A(n,m) = n!//(n-m)!
def permutation(n, k):
if k>n:
return 0
if k==0:
return 1
if k==1:
return n
res = 1
while k>0:
res*= n
n-=1
k-=1
return res
print(permutation(5, 1))
组合公式
C(n,m) = C(n, n-m)
C(5,2) = C(5,3)
C(n, m) = n!//(m!*(n-m)!)
#------------------------------------------------------------------
#------------------------------------------------------------------
def helper(n):
if n == 1:
return n
res = 1
for i in range(1, n + 1):
res *= i
return res
def getValue(n, m):
first = helper(n)
second = helper(m)
third = helper(n - m)
return first // (second * third)
if __name__ == "__main__":
print(getValue(5, 3))
print(getValue(5, 2))