用Python编程1,2,3,4,5,6....到12,总共12个数、其中几个数字加起来等于39?

2025-04-04 03:49:28
推荐回答(2个)
回答1:

回答2:

n = 12

s = 39

k = s

def myAns(n=12,k=39,rest = []):

    #rest 保存结果,传参用

    global s

    if k==0 or n==1:

        rest.append(n)

        if sum(rest)==s:

            print("组合{0},{1}".format(rest,sum(rest)))

        #return rest

    elif k>n:

        rest.append(n)

        return myAns(n-1,k-n,rest)

    else:

        return myAns(n-1,k,rest)


for i in range(1,n+1):

    myAns(i,k,[])

运行结果:

组合[9, 8, 7, 6, 5, 3, 1],39

组合[10, 9, 8, 7, 4, 1],39

组合[11, 10, 9, 8, 1],39

组合[12, 11, 10, 5, 1],39