您好,登錄后才能下訂單哦!
小編給大家分享一下php如何判斷一個(gè)數(shù)是不是素?cái)?shù),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
質(zhì)數(shù)又稱素?cái)?shù)。一個(gè)大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù);否則稱為合數(shù)。(注:1不是素?cái)?shù)。)
下面我們就來介紹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)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。