Python Tricks(二十一)—— 排列组合的计算

使用循环;

  • 阶乘的实现:

    def fac(n):
        r = 1.
        for i in range(1, n+1):
            r *= i
        return r
  • 排列:Anm=m!n!=(mn+1)m

def perm(m, n):
    r = 1.
    for i in range(n):
        r *= m-i
    return r
  • 组合:(mn)=m!n!(mn)!=Anmn!

    def comb(m, n):
        return perm(m, n)/float(fac(n))
原文地址:https://www.cnblogs.com/mtcnn/p/9423151.html