質數和合數

2022-03-16 21:57:23 字數 3736 閱讀 3612

質數又稱素數(下文中不區分質數和素數)

設 $ p \in z_+ $

\((1)\)當且僅當 $ p > 1 $ 且只能被 $ 1 $ 和 $ p $ 整除(即 $ p $ 僅有兩個因子 $ 1 $ 和 $ p $ ), 則稱 $ p $ 是乙個質數;

\((2)\)否則, 若 $ p > 1 $ , 則稱 $ p $ 是乙個合數;

\((3)\)當 $ p = 1 $, $ p $ 既不是質數也不是合數.

\((1)\)質數有無窮多個.

\((2)\)若 $ n $ 是乙個合數, 則 $ n $ 至少有乙個質因子.

\((3)\)若 $ n $ 是乙個合數, 其中最小的質因子一定不大於 $ \sqrt n $

\((4)\)若 $ n $ 是乙個合數, 不大於 $ n $ 的質數約有 $ \dfrac $ 個.

把正整數 $ n $ 寫成質數的乘積

$ n = p_1p_2p_3...p_k $, 其中 $ p_i $ 為質數, $ a_i $ 為正整數

這樣的表示是唯一的.

最簡單的判斷乙個數\(n\)是否為質數的方法

只需要從 $ 2 $ 除到 $ \sqrt n$ 即可, 如果中間有整數能整除 \(n\) 則 \(n\) 是合數, 反之 $ n $ 是質數

[cf 776b] sherlock and his girlfriend

反證法:

假設素數是有限個, 設最大素數為 \(p\)

設 $ n $ 是所有素數之積加一, $ n = 2 \times 3 \times ... \times p + 1 $

所以 $ n > p $

又因為 \(p\) 是最大素數

所以 $ n $ 是合數

但是 $ n $ 除以任何乙個素數都餘 $ 1 $

\((1)\)若 $ n $ 是素數, 則與 $ p $ 是最大素數矛盾.

\((2)\)若 $ n $ 是合數, 則 $ n $ 必有乙個大於 $ p $的素數約數, 與假設矛盾.

所以素數有無限個

反證法:

假設存在合數沒有質因子

那麼這些合數中必然有最小的乙個合數 $ a $

因為 $ a $ 為合數

所以一定可以寫成除了 $ 1 $ 和 $ a $ 之外的整數的積

設其中乙個為 $ b $. 則 $ b < a $

又因為 $ a $ 沒有質因數

那麼 $ b $ 為合數, 且也不存在質因數,

則 $ b $ 也是沒有質因數的合數

但是 $ b < a $ 與假設矛盾

所以任意乙個合數至少有乙個質因子.

反證法:

設\(n\)最小的質因數是$d,\space d > \sqrt $

那考慮\(n\)的分解形式:$ n = d \times x \space , \space x \in n_+ $

顯然 $ x = \dfrac $為小於 $ d $ 的因數,矛盾

如果 $ x $ 為合數,不斷的分解為質數即可

知道就好了其實是我不會

有兩處值得證明, 一是存在性, 二是唯一性

存在性反證法:

假設 $ n $ 為不能被分解為質數乘積的自然數中的最小的乙個

因為如果 $ n $ 為素數

那麼 $ n $ 顯然只能被分解為 $ n $

所以假設 $ n $ 為大於 $ 1 $ 的合數

所以一定存在兩個數 $ a , b $ 能整除 $ n $ ,且 $ 1 < a , b < n,$ 所以得到 $ n = a \times b $

如果 $ a , b $ 都為質數, 與假設矛盾

如果 $ a , b $ 中有乙個為合數

假設是 $ a $

因為 $ n $ 已經是最小的不能被分解為素數乘積的合數了

如果 $ a $ 不能被分解

那麼 $ n $ 為最小的不能被分解的合數這個條件就出現了矛盾

所以 $ a $ 是可以被分解為素數乘積的

所以 $ n $ 為能被分解為質數乘積, 與假設矛盾

同理當兩個數都為合數的時候會得到相同的矛盾

唯一性反證法:

假設 $ n $ 為最小的不能被唯一分解為一系列素數相乘的合數

設 $ n $ 能被分解為以下兩種形式

\(n = p_1p_2p_3...p_n\) ①

\(n = q_1q_2q_3...q_n\) ②

其中 \(p_i\) 和 \(q_i\) 均為素數,且單調不減

如果 \(p_i = q_i\)

那麼兩式聯立時會被約掉,那樣的話我們能得到乙個更小的素數組合

所以 \(p_i\) 與 任何乙個 $ q_i $ 都不相等,\(q_i\) 與 任何乙個 $ p_i $ 都不相等

所以 $ p_i \neq q_i $

那麼設 $ p_i < q_i$

然後用 $ p_1 $ 去替換②中的 \(q_1\) (這裡用 \(p_1\) 和 \(q_1\) 表示, 直接用 \(p_i\) 和 \(q_i\) 表示也行,不過 \(p_1\) 和 \(q_1\) 表示更容易理解)

從而得到乙個比 $ n $ 更小的數 $ m $

$ m = p_1q_2q_3...q_n$

設 $ x = n − m $

那麼它應該會有以下兩種形式:

\(x = p_1p_2p_3...p_n - p_1q_2q_3...q_n = p_1(p_2p_3…p_n − q_2q_3…q_n)\) ③

\(x = q_1q_2q_3...q_n - p_1q_2q_3...q_n = (q_1 -p_1 )(q_2q_3…q_n)\) ④

因為 $ x $ 比 $ n $ 要小

由假設得

因為 $ n $ 為最小的不能被唯一分解為一系列素數相乘的合數

所以 $ x $ 是能被唯一分解為一系列素數的乘積的

由③得, \(p_1\) 為 \(x\)的乙個質因子

因為 $ x $ 的分解具有唯一性

所以 \(p_1\) 要麼包含於 $ q_1 − p_1 $ 中, 要麼包含於 $q_2q_3…q_n $ 中

\((1)\)當 \(p_1\) 包含於 $ q_1 − p_1 $ 中

那麼 $ \dfrac $ 為整數

即 $ \dfrac - 1 $ 為整數

那麼 $ \dfrac$ 為整數

又因為 \(q_1, p_1\) 為素數 且 \(q_1 \neq p_1\)

所以 $ \dfrac$ 不可能為整數

矛盾\((2)\)當 $ p_1 $ 包含於 \(q_2q_3…q_n\)

因為假設中 \(p_1\) 與 任何乙個 $ q_i $ 都不相等

所以 $ p_1 $ 不包含於 $q_2q_3…q_n $

矛盾綜上所述:正整數 $ n $ 寫成質數的乘積的表示是唯一的

反證法:

設 $ n = p \times q $

若 $ p > \sqrt n, q > \sqrt n $

則 $p \times q > n $

所以 \(p, q\) 中有乙個小於等於 $ \sqrt n $

所以 只需要判斷到 $ \sqrt n$ 即可

質數 合數 互質

由於現在國際上通常把0作為自然數,而且 國家標準 中也把0作為自然數,因此質數 合數一般都是定義在正 整數範圍內的 0是所有正整數的倍數,研究它是沒有意義的,而且0不能做為除數 質數 除了1和它本身外,沒有別的因數的數是質數。合數 除了1和它本身外,還有別的因數的數是合數。1既不是質數也不是合數。原...

素數分解和合數篩選

根據唯一分解定理,任何乙個數都可以分解成若干個素數的乘機,如下 factor i 0 存放分解的素數 factor i 1 存放對應分解的素數出現的次數 fatcnt存放分解出的素數的個數 相同出現的只算一次 include include using namespace std const int...

質數 素數 合數 閏年 回文

質數 質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。換句話說,只有兩個正因數 1和自己 的自然數即為素數。比1大但不是素數的數稱為合數。1和0既非素數也非合數。合數是由若干個質數相乘而得到的。所以,質數是合數的基礎,沒有質數就沒有合數。這也說明了前面所提到的...