判断一个数是否是素数,为什么只要除到根号那个数就够了?

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,所以上只需要除到根号那个数就行了!


分享到:


相關文章: