透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

子集總數
32
= 2^5 (includes the empty set and the full set)
非空子集數 (2ⁿ − 1) 31
Subsets of size k = 2 — C(n,k) 10

什麼是子集計算器?

所謂子集,是指從一個較大集合中挑選出來的任意元素組合,包含空集合與集合本身。這個計算器能解答兩個常見的組合數學問題:一個含有 n 個元素的集合,總共有多少個子集?而其中又有多少個子集恰好包含 k 個元素?無論你正在學習集合論、機率還是離散數學,或單純想計算各種可能的組合方式,這個工具都能派上用場。

一個三元素集合,其全部八個子集以成組的小圓圈顯示
含 3 個元素的集合有 \(2^3 = 8\) 個子集,包括空集與全集。

使用方式

n 欄位輸入集合的大小(也就是相異元素的個數)。計算器會立即算出子集總數,等於 \(2^n\);同時也會顯示非空子集的數量,即 \(2^n - 1\)。如果你還想知道恰好含有 k 個元素的子集數量,可在 k 欄位輸入子集大小,系統會運用二項式係數 \(C(n, k)\) 進行計算。若只需要總數,k 欄位留空即可。

公式解析

集合中的每個元素,都可以獨立地選擇「放進」或「不放進」某個子集——也就是每個元素有 2 種選擇。當有 n 個彼此獨立的元素時,子集總數就是 \(2 \times 2 \times \ldots \times 2 = 2^n\)。若要計算固定大小為 k 的子集數量,則使用組合公式 $$C(n, k) = \frac{n!}{k!\,(n - k)!}$$ 這表示從中挑出 k 個元素而不考慮順序。將 \(C(n, k)\) 從 \(k = 0\) 加總到 \(k = n\),結果正好會等於 \(2^n\)。

Advertisement
示意圖顯示子集總數等於 2 的 n 次方,以及從 n 個元素中選取的一個大小為 k 的子集
子集總數依 \(2^n\) 增長,而 \(C(n,k)\) 計算固定大小 k 的子集數。

實例演算

假設 \(n = 5\)。子集總數為 \(2^5 = 32\),非空子集則有 31 個。而含有 2 個元素的子集數量為 $$C(5, 2) = \frac{5!}{2! \cdot 3!} = \frac{120}{2 \cdot 6} = 10$$ 換句話說,從一個 5 元素的集合中,恰好能組出 10 種不同的配對。

常見問題

總數有包含空集合嗎?有的。\(2^n\) 這個數字同時包含空集合與整個集合本身。若只要非空子集,請減 1;若要真子集且非空,則減 2。

如果 k 大於 n 會怎樣?這種子集並不存在,因此只要 \(k > n\) 或 \(k < 0\),\(C(n, k)\) 就等於 0。

為什麼上限大約是 170?\(2^n\) 與階乘的成長速度極快,當 n 超過約 170 時,數值就會超出標準浮點數所能表示的範圍。

最後更新: