質因數分解

求任意數字的質因數和約數

如何使用質因數分解

  1. 1輸入一個大於 1 的正整數。
  2. 2執行計算器將其分解為質因數。
  3. 3檢視帶指數的質數列表,例如 360 = 2³ × 3² × 5。

質因數分解詳解

n = p1^a1 × p2^a2 × ...(每個 p 為質數)

質因數分解把數表示為質數的乘積,質數是大於 1 的每個整數的唯一構造單元。

它是求最大公約數、最小公倍數、密碼學以及判斷質數或完全冪的基礎。

算術基本定理保證:**每個大於 1 的整數都能唯一分解為質因數的乘積**(不考慮順序)。這個「唯一性」看似理所當然,實則是數論的基石——它保證了分數約分的結果唯一、GCD 和 LCM 的計算有確定答案。如果分解不唯一,整個初等數論都會崩塌。

實用的分解方法是「試除法」:從最小的質數 2 開始除,除不盡就試 3、5、7…,每次除到不能再除為止。關鍵最佳化是**只需要試到 √n**——如果 n 有大於 √n 的因數,那它必然配對一個小於 √n 的因數,早就試過了。例如分解 97,只需試到 √97 ≈ 9.8,即試 2、3、5、7 都不行,就能斷定 97 是質數。這個最佳化讓大數分解的耗時大幅下降。

數字質因數分解質因數個數是否為質數
122² × 32 種否
602² × 3 × 53 種否
1002² × 5²2 種否
3602³ × 3² × 53 種否
1,0017 × 11 × 133 種否
9797—是

常見數字的質因數分解

常見問題

為何是唯一的?

算術基本定理指出每個整數的質因數分解恰好只有一種。

1 呢?

1 不是質數,也沒有質因數;分解從 2 開始。

能處理多大的數?

試除法在百萬級以內沒問題;極大數需要高階演算法。

1 是質數嗎?

不是。質數的定義是「大於 1 且只能被 1 和自身整除的自然數」,1 被明確排除在外。排除 1 的原因正是為了保證分解的唯一性——如果允許 1 作為質因數,12 就可以寫成 2²×3、1×2²×3、1²×2²×3…,無限多種「分解」,算術基本定理就失效了。這是數學定義為了保持理論自洽而做的選擇。

大數分解為什麼是密碼學的基礎?

因為分解極其困難。把兩個大質數相乘很容易(計算機瞬間完成),但反過來把乘積分解回兩個質數,對幾百位的數來說,即使用最快的演算法和超級計算機也需要數千年。RSA 加密正是利用這種「單向性」:公鑰是兩個大質數的乘積(公開),私鑰是這兩個質數(保密)。目前量子計算機的 Shor 算法理論上能快速分解大數,這也是後量子密碼學研究的原因。

更多工具