小編給大家分享一下php如何判斷一個(gè)數(shù)是不是素?cái)?shù),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、武威ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的武威網(wǎng)站制作公司
質(zhì)數(shù)又稱素?cái)?shù)。一個(gè)大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù);否則稱為合數(shù)。(注:1不是素?cái)?shù)。)
下面我們就來(lái)介紹php判斷素?cái)?shù)的三種方法是什么?
方法一:
基本方法,——計(jì)數(shù)方法。
$num = 7;$n = 0; //用于記錄能被整除的個(gè)數(shù) -- 計(jì)數(shù) for($i = 1;$i <= $num; ++$i){ if($num % $i == 0){ $n++; } } if($n == 2){ echo "$num 是素?cái)?shù)"; }else{ echo "$num 不是素?cái)?shù)"; }
方法二:
就是一個(gè)數(shù)等于兩個(gè)數(shù)乘積時(shí),其中一個(gè)數(shù)肯定小于該數(shù)的一半。利用break;只要其中有一個(gè)數(shù)能被除盡,就立即結(jié)束循環(huán)。這樣就可以減少循環(huán)次數(shù),加快速度。
$num = 5;$flag = true; for($i = 2;$i <= $num/2;++$i) { if($num % $i == 0) { $flag = false; break; } }if($flag) { echo "$num 是素?cái)?shù)"; }else{ echo "$num 不是素?cái)?shù)"; }
方法三:
同上,兩個(gè)數(shù)相乘的乘積等于一個(gè)數(shù)時(shí),那么其中一個(gè)數(shù),肯定要小于該數(shù)的平方根。
$num = 4;for($i = 2;$i<$num;++$i){ if($num % $i == 0){ echo "$num 不是素?cái)?shù)"; break; } if($i >= sqrt($num)){ echo "$num 是素?cái)?shù)"; break; } }
以上是php如何判斷一個(gè)數(shù)是不是素?cái)?shù)的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!