子集计算器
计算有限集合中含 k 个元素的子集数、全部子集数及真子集数。
计算子集数量
输入集合大小 n 和所需的子集大小 k。
关于子集与组合
子集是所有元素都来自另一个集合的集合。若一个集合包含 n 个不同元素,则构成子集时,每个元素都有两种独立选择:选入或不选入。将这些选择数相乘,可得子集总数为 2 的 n 次方。该数量包括空集和原集合本身,按照标准数学定义,它们都是有效的子集。
有些问题只要求恰好包含 k 个元素的子集数量,其值为二项式系数 C(n,k),读作从 n 个中选 k 个。阶乘公式为 n 的阶乘除以 k 的阶乘与 (n-k) 的阶乘之积。计算器通过迭代乘积计算同一比值,避免产生不必要的巨大中间阶乘值,并返回精确整数。例如,从五名学生中选择两名,得到 C(5,2) = 10 种可能的配对。
真子集是任何不等于完整原集合的子集。因此,含 n 个元素的集合有 2 的 n 次方减 1 个真子集。部分入门资料使用更严格的约定,同时排除原集合和空集,将其余部分称为非空真子集。在此约定下,当 n 为正数时,数量为 2 的 n 次方减 2。本计算器采用通常定义,即空集可计入真子集,但原集合本身仍须排除。
子集中不考虑顺序。选取小艾和小博,与选取小博和小艾得到的是同一个子集。这就是组合与排列的区别:排列中顺序不同会产生不同结果。还需假定元素互不相同。如果列表重复出现某个值,请先去重,将其转换为真正的集合,再统计 n。计算器只要求元素数量而不要求具体值,因为名称和值不会改变计数结果。
子集计数广泛用于组合数学、概率论、计算机科学、数据分析和离散数学,可描述特征选择、委员会组成、二进制状态、搜索空间和选项组合。数量增长很快:含 20 个元素的集合就有 1,048,576 个子集。本工具使用精确整数运算,避免大数产生浮点舍入误差。为保持浏览器计算流畅,输入大小受到限制,但对所有有限集合,公式都相同。
子集示例
比较固定大小的组合数量与完整幂集的大小。
| 集合大小与子集大小 | 数量 | 说明 |
|---|---|---|
| n = 5,k = 2 | C(5,2) = 10;总数 = 32 | 十个无序配对 |
| n = 8,k = 3 | C(8,3) = 56;总数 = 256 | 五十六个三元素组合 |
| n = 10,k = 0 | C(10,0) = 1;总数 = 1024 | 空子集只有一个 |
如何计算子集数量
- 输入原集合中不同元素的数量 n。
- 输入 k,即每个目标子集应恰好包含的元素数量。
- 点击“计算子集”,求出 C(n,k) 与完整幂集的元素数量。
- 需要排除原集合本身时,使用真子集总数。
子集计算器常见问题
空集算子集吗?
算。空集是任何集合的子集,也包括它自身,因此 C(n,0) 始终等于一。
子集与真子集有什么区别?
子集可以等于原集合。真子集必须至少缺少原集合的一个元素,所以真子集数比全部子集数少一个。
为什么子集总数是 2 的 n 次方?
n 个元素中的每一个都可以独立地选入或不选入。将两种选择相乘 n 次,就得到 2 的 n 次方种可能。
选择子集时顺序重要吗?
不重要,子集是无序的集合。若顺序会影响结果,问题需要计算排列,而不是组合。
子集可以包含重复元素吗?
如果原对象是数学意义上的集合,就不可以,因为集合中的元素互不相同。允许重复的问题属于多重集组合,需要使用不同公式。