若一个数n能被2和√n之间的数整除(取余为0),则可推断n为素数。可从2最先测试,一直到√n为止。
在平常范畴,对正整数n,假如用2到 之间的一切整数去除,均没法整除,则n为素数。(引荐进修:PHP编程从入门到通晓)
素数大于即是2 不能被它本身和1之外的数整除
细致就不举行证明了,举个栗子:
16 = 2*8 16 = 4*4 16 = 8*2 √16 = 4
假如大于,即c=a*b和c=b*a就反复了
function isPrime($n) { if ($n <= 3) { return $n > 1; } else if ($n % 2 === 0 || $n % 3 === 0) { // 消除能被2整除的数(2x)和被3整除的数(3x) return false; } else { // 消除能被6x+1和6x+5整除的数 for ($i = 5; $i * $i <= $n; $i += 6) { if ($n % $i === 0 || $n % ($i + 2) === 0) { return false; } } return true; } }
以上就是php推断一个数是不是为素数的细致内容,更多请关注ki4网别的相干文章!