有没有靓仔靓妹可以用Python解决一个问题:
已知总和为x,现有20个数的数组s
现在想知道这20个数组成x的所有可能
注:每一个数都可以乘某个整数系数,
即可能有x=2s1+4s3+5*s18。
下面是一个实现的示例代码,使用了 Python 的 itertools 库:
from itertools import product
def find_combinations(s, x):
for c in product([0, 1, 2, 3, 4, 5], repeat=len(s)):
if sum(c[i] * s[i] for i in range(len(s))) == x:
yield c
s = [s1, s2, s3, ..., s20] # 替换为你自己的20个数
x = 100
combinations = list(find_combinations(s, x))
print(combinations)
这段代码会输出所有系数组合,每个系数组合都可以使用 s 数组中的数字组成总和为 x 的可能。