python 排列组合算法

2020-01-08 16:40:06 浏览数 (1)

def c(n,m,out): if(m==0):    return 1 x=n while x>=m:    out.append(x)    if(c(x-1,m-1,out)):     print out    out.pop()    x-=1 return 0 c(10,8,out=[])

def permutation(listobj, length): assert listobj != None and 0 < length <= len(listobj) if(length == 1):    return [ [x] for x in listobj ] result = [] for i in range(len(listobj)):    cp = list(listobj)    cur = cp[i]    del cp[i]    result.extend( [cur] x for x in permutation(cp, length-1) ) return result

n个取m个数的组合数问题

0 人点赞