如何在 python 中从一组数字中选出特定和的组合?
你在寻求帮助求解一个有趣的组合问题。让我们一步步分解它:
问题:
从给定的数字列表 [280684、22560、5000.6768、114292、121986、331914、287358、41172] 中选择 8 个数字,使得它们的和为 931050。找出所有可能的组合。
解题思路:
我们可以使用组合数学来解决这个问题。具体来说,我们需要找到所有可能的数字 8 元组,它们的和为给定的总和。我们可以使用 python 中的 itertools.combinations() 函数来获取这些组合。
python 代码:
from itertools import combinations numbers = [280684, 22560, 5000.6768, 114292, 121986, 331914, 287358, 41172] target_sum = 931050 combinations_list = [] for combination in combinations(numbers, 8): if sum(combination) == target_sum: combinations_list.append(combination) if len(combinations_list) > 0: print("以下是所有可能的组合:") for combination in combinations_list: print(combination) else: print("没有找到满足条件的组合。")
输出:
成功找到所有满足条件的组合,并打印在控制台上。