判斷一個數是否是素數,為什麼只要除到根號那個數就夠了?

C語言從入門到放棄


因為合數都至少有兩個質因數,兩個質因數至少有一個小於等於合數的平方根,所以說,如果從2-這個數的平方根都不能被某個數整除,那麼這個數一定是質數。


Jack1012


一個奇數、要確認其是素數、最原始的方法就是確定它不含有其他所有的素數因子、也就是用從3開始的素數去除這個奇數、如果除不盡、即不含有此素因子、那麼要除到那個素數為止呢?即除到根號這個奇數前後最靠近的素數為止。比如109這個奇數先除以3、除不盡則不含3這個素因子、同理除以5、除不盡、則不含5素因子⋯一直除到根號109最靠近的素數11、也除不盡、那麼這奇數109就是素數。道理很簡單、再繼續除以大於根號109即11以後的素數肯定是除不盡的、因為如果除盡了其啇一定是以前比11小的素因子、(商x除數=被除數)。


王慶元


如果一個數不是素數的話,那麼一定可以拆分成兩個數的積。

這兩個約數必然有一個大一個小,或者相等(這種情況下就是這個數的平方根)。

那麼我們就可以通過找小於平方根的約數來證明了,如果小的約數不存在,那大的也不可能存在。


多學酷思


這個嘛,由乘法的交換率法則而來,表達式為ab=ba。以平方根做C位,可以二二對應,所以後半部分就可以省略了。


aging74755260


你這個問題有問題呀:

我給你科普下素數吧,素數又稱為質數,也就是除了1和他本身以外不再有別的約數的。與除不除到根號沒有關係。

究其原因,估計提問者與帶根號的無理數弄混了。


春風數學課堂


因為大於根號的,鐵定不能整除呀。


我是菜菜菜叫獸


這用到一個原理:如果一個數不是素數,那麼他就可以分解為(n+1)*(n-1),這種情況下只需要證明有n-1存在即可,最特殊的情況下就是分解為n*n,此時就需要證明到n,所以上只需要除到根號那個數就行了!


分享到:


相關文章: