输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,
使其和等于m ,要求将其中所有的可能组合列出来.
def comb(n,m):
if n==0:
return [];
elif n>m:
result=comb(n-1,m)
return result
elif n==m:
result=[[n]]
temp=comb(n-1,m)
if not temp==0:
for i in temp:
result.append(i)
return result
else:
result=comb(n-1,m-n)
if not result==0:
for r in result:
r.insert(0,n)
else:
result=[]
temp=comb(n-1,m)
if not temp==0:
for i in temp:
result.append(i)
return result