集合子集生成器
每行一个集合(逗号或空格分隔),用位掩码迭代法列出它的全部子集(幂集,含空集与全集)
子集大小:   大小:   起始:   结束:
展示方式:   最多输出:   分隔符:
计算结果 下载 CSV
序号 集合 子集 大小

工具介绍及使用方法

子集计算器(Subset Generator):输入一个集合,一次列出它的全部子集,也就是幂集 P(S),空集 {} 与全集本身都在里面。

使用方法:
1. 每行输入一个集合,元素用逗号或空格分隔(全角逗号也可以),元素按原样字符串处理、行内自动去重,如 1, 2, 3;
2. 按需调整参数:
   · 子集大小:全部(0 到 n)、指定大小(如只要 2 元子集)、指定范围(如 1 到 3 元子集);
   · 展示方式:按大小分组(先给 大小 2 (3) 这样的分组标题,再列该大小的子集)或掩码顺序(从 {} 到全集);
   · 最多输出:结果条数上限(1 至 5000);
3. 点击「开始计算」,输出框给出每个集合的子集总数与逐条子集,表格里逐行列出序号、集合、子集与子集大小;
4. 结果支持一键复制与导出 CSV。

输出说明:每行的首行是摘要,例如 S1 = {1, 2, 3}  | |S| = 3 | 子集总数 = 8,共 2³ = 8 个子集;若设置了大小筛选,摘要里还会追加「筛选后 = N」。

算法与护栏:枚举走位掩码迭代法(掩码从 0 迭代到 2^n − 1,第 i 位为 1 表示取第 i 个元素),不用递归、也不会栈溢出;子集总数用 BigInt 精确计算。由于 2^n 增长极快,元素超过 20 个时不再逐个枚举、只给出子集总数(例如 64 个元素的幂集有 2⁶⁴ = 18446744073709551616 个子集);单次最多处理 50 行、每行最多 500 个元素、输出行数上限 5000,超出上限会自动收敛并给出提示。

与站内其它集合类工具的区别:集合运算工具做的是多个集合之间的并集、交集、差集、对称差与补集;笛卡尔积计算器做的是多个集合的叉乘;本工具只做「单个集合的幂集枚举」,含空集与全集,并可按子集大小筛选与分组,还能给出子集总数。

留言板

全部留言 →
0/200

  • 还没人说话,来占个沙发?