集合子集產生器

每行一個集合(逗號或空格分隔),用位元遮罩迭代法列出它的全部子集(冪集,含空集與全集)
子集大小:   大小:   起始:   結束:
顯示方式:   最多輸出:   分隔符:
計算結果 下載 CSV
序號 集合 子集 大小

工具介紹及使用方法

子集計算器(Subset Generator):輸入一個集合,一次列出它的全部子集,也就是冪集 P(S),空集 {} 與全集本身都在裡面。
輸出說明:每行的首行是摘要,例如 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,超出上限會自動收斂並提示。

與站內其他集合類工具的區別:集合运算工具做的是多個集合之間的聯集、交集、差集、對稱差與補集;笛卡尔积计算器做的是多個集合的叉乘;本工具只做「單個集合的冪集列舉」,含空集與全集,並可按子集大小篩選與分組,還能給出子集總數。

操作步驟

  1. 每行輸入一個集合,元素用逗號或空格分隔(全形逗號也可以),元素按原樣字串處理、行內自動去重,如 1, 2, 3。
  2. 按需調整參數:
       · 子集大小:全部(0 到 n)、指定大小(如只要 2 元子集)、指定範圍(如 1 到 3 元子集);
       · 展示方式:按大小分組(先給 大小 2 (3) 這樣的分組標題,再列該大小的子集)或遮罩順序(從 {} 到全集);
       · 最多輸出:結果條數上限(1 至 5000)。
  3. 點擊「開始計算」,輸出框給出每個集合的子集總數與逐條子集,表格逐行列出席號、集合、子集與子集大小。
  4. 結果支援一鍵複製與匯出 CSV。

留言板

全部留言 →
0/200

  • 還沒人說話,來搶個沙發?