質數又稱素數。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除的數叫做質數;否則稱為合數。 (註:1不是質數。)那麼php怎麼判斷一個數是不是質數?下面本篇文章就來跟大家介紹一下。
下面我們就來介紹php判斷質數的三種方法是什麼?
方法一:
基本方法,-計數方法。
$num = 7;$n = 0; //用于记录能被整除的个数 -- 计数 for($i = 1;$i <= $num; ++$i){ if($num % $i == 0){ $n++; } } if($n == 2){ echo "$num 是素数"; }else{ echo "$num 不是素数"; }
方法二:
就是一個數等於兩個數乘積時,其中一個數肯定小於該數的一半。利用break;只要其中有一個數能被除盡,就立即結束循環。這樣就可以減少循環次數,加快速度。
$num = 5;$flag = true; for($i = 2;$i <= $num/2;++$i) { if($num % $i == 0) { $flag = false; break; } }if($flag) { echo "$num 是素数"; }else{ echo "$num 不是素数"; }
方法三:
同上,兩個數相乘的乘積等於一個數時,那麼其中一個數,肯定要小於該數的平方根。
$num = 4;for($i = 2;$i<$num;++$i){ if($num % $i == 0){ echo "$num 不是素数"; break; } if($i >= sqrt($num)){ echo "$num 是素数"; break; } }
更多PHP相關知識,請造訪:PHP中文網!
以上是php怎麼判斷一個數字是不是質數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!