因數計算機能做什麼
這款因數計算機只需輸入一個整數,就會立刻回傳兩項結果:該數字的所有因數(除數),以及它的質因數分解。所謂因數,是指任何能整除這個數字、且沒有餘數的整數;而質因數則是相乘後能還原出原始數字的質數「基本積木」。無論是寫作業、約分分數、尋找最大公因數,還是探索數字的各種性質,這都是相當實用的小工具。
使用方法
畫面上只有一個輸入欄位,標示為 「求下列數字的因數:」。只要輸入任意整數(正數或負數),其餘工作交給計算機即可。本工具以絕對值進行運算,因此回傳的因數一律為正數。可支援的範圍為任何小於 2,147,483,647 的整數;達到或超過這個上限的數值將無法處理。
- 0 屬於特例,會直接回傳 0。
- 負數會取其絕對值(例如 -12 與 12 的因數完全相同)。
背後的運算原理
計算機並不會逐一檢查到輸入值為止的每個數字,而是只從 1 迴圈計算到該數字的平方根。每當找到一個能整除的值 i,就同時記錄 i 與其對應的商(數字 ÷ i)。這種「平方根法」會成對找出因數,對於較大的數字而言速度快上許多。結果會去除重複值,並由小到大排序。至於質因數分解,則採用成熟的質數運算程式(Apache Commons Math)將絕對值拆解為各個質數成分。
$$\text{Factors} = \left\{\, d \in \mathbb{Z}^{+} : \left|\text{Number}\right| \bmod d = 0 \,\right\}$$
範例演算
輸入 36。迴圈會從 1 跑到 7(剛好超過 \(\sqrt{36} = 6\)):
- 1 可整除 36 → 記錄 1 與 36
- 2 可整除 36 → 記錄 2 與 18
- 3 可整除 36 → 記錄 3 與 12
- 4 可整除 36 → 記錄 4 與 9
- 6 可整除 36 → 記錄 6(其配對也是 6,因此只記錄一次)
排序後的 因數 為:1、2、3、4、6、9、12、18、36。質因數 則為:2、2、3、3(因為 \(2 \times 2 \times 3 \times 3 = 36\))。
常見問題
因數與質因數有什麼差別?因數是所有能整除你輸入數字的數;質因數則只包含相乘後能組成該數字的質數。以 36 為例,因數中包含像 12、18 這類合數,但質因數就只有 2、2、3、3。
為什麼負數會得到正的因數?因為計算機是以絕對值運算,所以 -12 與 12 會產生相同的正除數清單。
數字大小有上限嗎?有的。數值必須小於 2,147,483,647(同時大於其負值)。達到或超過此上限的數值不會回傳任何結果。
相關計算機
- 質因數分解計算機——整數分解質因數。
- 最大公因數計算機(GCF)——GCF/HCF 計算。
- 最小公倍數計算機(LCM)——求最小公倍數。
- 最大公因數計算機(GCD)——求最大公因數。