首頁  >  文章  >  後端開發  >  php如何判斷是否為質數?判斷質數的三種方法(程式碼範例)

php如何判斷是否為質數?判斷質數的三種方法(程式碼範例)

青灯夜游
青灯夜游轉載
2018-11-22 14:56:199962瀏覽

這篇文章帶給大家的內容是介紹php如何判斷是否為質數?判斷質數的三種方法(程式碼範例)。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

什麼是質數?

質數又稱質數。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除的數叫做質數;否則稱為合數。 (註:1不是質數。)

#下面我們就來介紹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中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除