子集計算機

計算有限集合中含 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 次方種可能。

選擇子集時順序重要嗎?

不重要,子集是無序集合。若順序會影響結果,問題需要的是排列,而不是組合。

子集可以包含重複元素嗎?

如果原本是數學上的集合,就不行,因為集合元素彼此相異。允許重複的問題屬於多重集組合,需要不同的公式。