`
wzy1986714
  • 浏览: 11598 次
  • 性别: Icon_minigender_1
  • 来自: 温州
最近访客 更多访客>>
社区版块
存档分类
最新评论

小算法题--1

阅读更多

输入两个整数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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics