為什麼說合數它一定能夠被某個素數整除

2021-09-29 23:31:22 字數 720 閱讀 3402

合數它一定能夠被某個素數整除,合數就是這樣定義的:能夠被除1和本身以外的整數整除的數叫做合數。

證明:

按照合數的定義,乙個合數m 一定能被某個整數n整除,假設商是p,那麼 m=n*p,   n和p顯然都比m小

如果n和p至少有乙個是質數,那麼結論就得到證明

如果n和p都不是質數,還是合數,那麼n一定可以再分解成兩個小於n的整數的乘積,n=n1*p1

於是 m=n1*p1*p

如果n1,或者p1中有乙個是質數,那麼結論就得到證明了

如果n1,p1都不是質數,那麼繼續分解因數分下去。。。。

因為m是有限整數,,而分出的因數n1,p1,.....等乙個比乙個小,最後總有一次得到乙個因數是質數

證完。

質數個數是無限的

證明:

反證法,假如質數只有有限個:p1,p2,...pn,那麼考慮整數m=(p1*p2*......*pn)+1

顯然 m 比p1,p2,......,pn都大

但是 m=(p1*p2*......*pn)+1 顯然不能被已知的n個質數整數,

因此m不能被任何質數整數,由上面證明的結果可知,m不是合數,它只能是乙個質數,

而且是乙個比p1,p2,......pn都要大的乙個質數,這與假設質數只有有限個是矛盾的

所以這個矛盾說明質數個數只能是無限的。

**虎哥19450909

HashMap底層為什麼一定用陣列

hashmap原始碼資料結構 entry table new entry capacity 其中,entry就是乙個鍊錶節點。如果將陣列替換成linkedlist是否可行?如下 listtable new linkedlist 將陣列替換成linkedlist是可以的,但是hashmap選用陣列的原...

HashMap底層為什麼一定用陣列

hashmap原始碼資料結構 entry table new entry capacity 其中,entry就是乙個鍊錶節點。如果將陣列替換成linkedlist是否可行?如下 listtable new linkedlist 將陣列替換成linkedlist是可以的,但是hashmap選用陣列的原...

為什麼重寫就一定需要重寫HashCode方法

equals 和 hashcode方法是屬於object的,所以每個物件都有自己的equals 和 hashcode方法。在object中equals方法是用來判斷兩個物件是否是同乙個也就是他們的儲存位址是一樣的。但是往往我們有自己的需要定義equal,所以重寫equals方法很重要!下面來說說eq...