排列数和组合数
代码
def cal(n, k):
if k<0 or k>n:
return 0
if k == 0 or k ==n:
return 1
k = min(k, n-k)
res = 1
for i in range(k):
res = res * (n-i) // (i+1)
return res
或者
import math
print(math.comb(5, 2)) # 输出 10
排列数
def permutation_count(n, k):
if k < 0 or k > n:
return 0
res = 1
for i in range(k):
res *= (n - i)
return res
或者
import math
math.perm(5, 3) # 60

浙公网安备 33010602011771号