子集计算器

计算有限集合中含 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 = 2C(5,2) = 10;总数 = 32十个无序配对
n = 8,k = 3C(8,3) = 56;总数 = 256五十六个三元素组合
n = 10,k = 0C(10,0) = 1;总数 = 1024空子集只有一个

如何计算子集数量

  1. 输入原集合中不同元素的数量 n。
  2. 输入 k,即每个目标子集应恰好包含的元素数量。
  3. 点击“计算子集”,求出 C(n,k) 与完整幂集的元素数量。
  4. 需要排除原集合本身时,使用真子集总数。

子集计算器常见问题

空集算子集吗?

算。空集是任何集合的子集,也包括它自身,因此 C(n,0) 始终等于一。

子集与真子集有什么区别?

子集可以等于原集合。真子集必须至少缺少原集合的一个元素,所以真子集数比全部子集数少一个。

为什么子集总数是 2 的 n 次方?

n 个元素中的每一个都可以独立地选入或不选入。将两种选择相乘 n 次,就得到 2 的 n 次方种可能。

选择子集时顺序重要吗?

不重要,子集是无序的集合。若顺序会影响结果,问题需要计算排列,而不是组合。

子集可以包含重复元素吗?

如果原对象是数学意义上的集合,就不可以,因为集合中的元素互不相同。允许重复的问题属于多重集组合,需要使用不同公式。