gpt4 book ai didi

python - 如何返回所有具有 N 之和的唯一数字组合

转载 作者:行者123 更新时间:2023-11-28 19:08:07 26 4
gpt4 key购买 nike

<分区>

我已经编辑了我的问题,因为我认为我没有很好地解释它。作为重复链接的 subset_sum 函数似乎是在数字列表是随机的时,但在我的情况下也可以使用。但是,对于像我下面的函数这样的大数字,它似乎效率低下。我的问题是基于 N 的值始终已知的数字列表。

如果 N 为 10,则数字列表将为 1 到 9 或范围 (1, N)。该函数应返回从 1 到 9 的所有唯一数字组合,总和为 10。在这种情况下,我下面的函数将解决此问题并返回 9,但是对于大数字,它需要很长时间。在我看来,当数字范围已知时,应该有更好的方法来解决这个问题,而不是必须遍历每个可能的组合。也许我错了。

import itertools

def counter(n):
count = 0
l = range(1, n)
for i in range(1, n):
for c in itertools.combinations(l, i):
if sum(c) == n:
count += 1
return count

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com