python的有两个点时间超了,大佬求解感谢!!!
查看原帖
python的有两个点时间超了,大佬求解感谢!!!
1231862
lzysxfcs楼主2024/5/10 14:35
def subset_sum(nums):
    n = len(nums)  #集合元素个数
    total_sum = 0  #所有子集之和

    for i in range(1, 1 << n):  #1到2^n,表示所有可能子集的位表示
        subset_sum = 0  #当前子集之和
        for j in range(n):  #遍历集合中的每个元素
            if i & (1 << j):  #当前子集表示i的第j位是否为1
                subset_sum += nums[j]  #如是,将集合中索引为j的元素值加到
        total_sum += subset_sum

    return total_sum

# 读取输入
nums = list(map(int, input().split()))
# 输出结果
print(subset_sum(nums))
2024/5/10 14:35
加载中...