namediffcult 2023-01-03 20:19 采纳率: 100%
浏览 10
已结题

已知总和,求解20个数组成该和的所有可能 #Python

有没有靓仔靓妹可以用Python解决一个问题:
已知总和为x,现有20个数的数组s
现在想知道这20个数组成x的所有可能
注:每一个数都可以乘某个整数系数,
即可能有x=2s1+4s3+5*s18。

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2023-01-03 20:29
    关注

    下面是一个实现的示例代码,使用了 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 的可能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月11日
  • 已采纳回答 1月3日
  • 创建了问题 1月3日

悬赏问题

  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制