def print_subset(x):
print([A[i] for i in range(len(x)) if x[i]])
def subset_sum(k):
v_sum = ##sum of whole results I chose##
if k == len(A):
if v_sum == S:
print_subset(x)
else:
# code for x[k] = 1 and x[k] = 0
A = list(set(int(x) for x in input().split()))
A.sort()
S = int(input())
x = [0]*len(A)
subset_sum(0)
我正在尝试制作子集总和代码,但现在我陷入了困境。我知道我要做的是将x[k]=1 and x[k]=0
的情况分开。
但是我找不到解决方法。我应该怎么做才能填写代码?
我不确定答案,但是我建议使用所有长度为“ len(A)”的二进制数(例如Incrementing a binary number in python)过滤您的集合,以创建所有子集。