首頁  >  文章  >  後端開發  >  php怎麼判斷一個數字是不是質數?

php怎麼判斷一個數字是不是質數?

青灯夜游
青灯夜游原創
2019-10-12 17:52:085516瀏覽

質數又稱素數。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除的數叫做質數;否則稱為合數。 (註:1不是質數。)那麼php怎麼判斷一個數是不是質數?下面本篇文章就來跟大家介紹一下。

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn