← 完整题目索引

PROJECT EULER · #0201

具有唯一和的子集

Subsets with a Unique Sum

仅题目 · 已解决原题 ↗

对于任何数字集合 A,令 sum(A)A 的元素之和。
考虑集合 B={1,3,6,8,10,11}
B20 个子集,其中包含三个元素,它们的总和为:

sum({1,3,6})=10,sum({1,3,8})=12,sum({1,3,10})=14,sum({1,3,11})=15,sum({1,6,8})=15,sum({1,6,10})=17,sum({1,6,11})=18,sum({1,8,10})=19,sum({1,8,11})=20,sum({1,10,11})=22,sum({3,6,8})=17,sum({3,6,10})=19,sum({3,6,11})=20,sum({3,8,10})=21,sum({3,8,11})=22,sum({3,10,11})=24,sum({6,8,10})=24,sum({6,8,11})=25,sum({6,10,11})=27,sum({8,10,11})=29.

其中一些总和出现多次,另一些则是唯一的。
对于集合 A,令 U(A,k)Ak 个元素子集的唯一和的集合,在我们的示例中,我们发现 U(B,3)={10,12,14,18,21,25,27,29}sum(U(B,3))=156

现在考虑 100 元素集 S={12,22,,1002}
S 有 100891344545564193334812497256 50 元素子集。

确定所有整数的总和,这些整数恰好是 S50 元素子集之一的总和,即找到 sum(U(S,50))

题解待补充

这道题的题目已收录,解题思路、代码和答案将在后续补充。