输入一个正整数求所有素数因子_一起来聊聊素数的两个性质
素數(prime number),又稱質數,有無限個。
定義:在大于1的自然數中,除了1和它本身以外不再有其他因數。
來介紹兩個簡單的性質:
質數的個數是無窮的。
歐幾里得的《幾何原本》曾有一經典證明,用的是反證法。
當然,還有其他證明,我們就不一一探討了,因為確實沒有這種方法來的簡單。
延伸一下,是不是所有的形如(p1*p2*……*pn)+1(其中p1,p2,...,pn均為素數)的數就一定是素數呢?
答案是否定的(2*3*5*7*11*13+1=30031 不是素數,因為30031=59*509)。
下一個性質:
質因數分解唯一定理:任一大于1的自然數,要么本身是質數,要么可以分解為幾個質數之積,且這種分解是唯一的。
同樣采用反證法來證明:
假設存在某些數,它們有至少兩種分解方法。那么一定有一個最小的數N,它能用至少兩種方法表示成質數的乘積:
N = P1 * P2 * … * Pr = Q1 * Q2 * … * Qs
不妨設P1 <= P2 <= ... <= Pr; Q1 <= Q2 <= ... <= Qs。
顯然,P1≠Q1(不然兩邊同時約掉它,我們就得到一個更小的有兩種分解方法的數)。
不妨設P1 < Q1,那么我們用P1替換掉等式最右邊中的Q1,得到一個比N更小的數
M = P1 * Q2 * Q3 * ... * Qs。
令N' = N-M,我們得到M'的兩種表達:
N' = (P1 * P2 * ... * Pr) - (P1 * Q2 * ... * Qs) = P1 * (P2 * .. * Pr - Q2 * ... * Qs) ……………… (1)
N' = (Q1 * Q2 * ... * Qs) - (P1 * Q2 * ... * Qs) = (Q1 - P1) * Q2 * ... * Qs ……………… (2)
由于M比N小,因此N'是正整數。
從(1)式中我們立即看到,P1是N'的一個質因子。注意到N'比N小,因此它的質因數分解方式應該是唯一的,可知P1也應該出現在表達式(2)中。既然P1比所有的Q都要小,因此它不可能恰好是(2)式中的某個Q,于是只可能被包含在因子(Q1-P1)里。但這就意味著,(Q1-P1)/P1除得整數,Q1/P1必須得是整數。我們立即看出,P1必須也是Q1的一個因子,這與Q1是質數矛盾了。
這說明,我們最初的假設是錯誤的。
以上就是關于素數的兩個性質的證明。希望能幫到您!
總結
以上是生活随笔為你收集整理的输入一个正整数求所有素数因子_一起来聊聊素数的两个性质的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keil5函数 默认返回值_C++ 函数
- 下一篇: 俏皮的网名139个