获取幂和问题的所有可能组合
Getting all possible combinations for powersum problem
我正在尝试找出构成幂和的所有数字组合。下面是我的代码,在找到第一个组合后 returns。
`代码:
def powerSum(targetSum, N):
def helper(x,n,c):
if pow(c,n)==x:
return [c]
if pow(c,n)>x:
return None
l = helper(x,n,c+1)
r = helper(x-pow(c,n),n,c+1)
if l!=None or r!=None:
if l==None:
return r+[c]
else:
return l
return helper(targetSum,N,1)
print(powerSum(100,2))
谁能帮我 return 所有可能的组合
例子:
如果输入是 targetSum =100 和 N=2 输出应该是三个可能组合列表的列表 =[[10],[6,8][1,3,4,5,7]]
我的输出只有 [10]
重新考虑 return 类型:
def powerSum(targetSum, N):
def helper(x, n, c):
if pow(c, n) == x:
return [[c]]
if pow(c, n) > x:
return []
l = helper(x, n, c + 1)
r = helper(x - pow(c, n), n, c + 1)
for _r in r:
l.append([c] + _r)
return l
return helper(targetSum, N, 1)
print(powerSum(100, 2))
我正在尝试找出构成幂和的所有数字组合。下面是我的代码,在找到第一个组合后 returns。
`代码:
def powerSum(targetSum, N):
def helper(x,n,c):
if pow(c,n)==x:
return [c]
if pow(c,n)>x:
return None
l = helper(x,n,c+1)
r = helper(x-pow(c,n),n,c+1)
if l!=None or r!=None:
if l==None:
return r+[c]
else:
return l
return helper(targetSum,N,1)
print(powerSum(100,2))
谁能帮我 return 所有可能的组合 例子: 如果输入是 targetSum =100 和 N=2 输出应该是三个可能组合列表的列表 =[[10],[6,8][1,3,4,5,7]] 我的输出只有 [10]
重新考虑 return 类型:
def powerSum(targetSum, N):
def helper(x, n, c):
if pow(c, n) == x:
return [[c]]
if pow(c, n) > x:
return []
l = helper(x, n, c + 1)
r = helper(x - pow(c, n), n, c + 1)
for _r in r:
l.append([c] + _r)
return l
return helper(targetSum, N, 1)
print(powerSum(100, 2))