Rumah > Artikel > pembangunan bahagian belakang > Bagaimana Fungsi PHP Boleh Menentukan dengan Cekap sama ada Nombor adalah Perdana?
Formula Mencari Nombor Perdana dalam Gelung
Soalan ini bertujuan untuk mengenal pasti nombor perdana menggunakan mekanisme gelung. Secara khusus, soalan itu bertujuan untuk mencipta fungsi PHP untuk mencari nombor perdana dengan cekap.
Untuk memahami proses tersebut, mari kita perkenalkan konsep nombor perdana. Nombor perdana ialah nombor bulat yang lebih besar daripada 1 yang tidak boleh dibahagi dengan mana-mana nombor bulat lain kecuali 1 dan nombor itu sendiri.
Takrifan ini mencadangkan cara mudah untuk menyemak keutamaan: bahagikan nombor itu dengan semua integer daripada 2 hingga petak punca nombor. Jika mana-mana bahagian ini mempunyai baki, nombornya ialah perdana.
Fungsi PHP yang disediakan dalam jawapan soalan mematuhi konsep ini:
<code class="php">function isPrime($num) { //1 is not prime. See: http://en.wikipedia.org/wiki/Prime_number#Primality_of_one if($num == 1) return false; //2 is prime (the only even number that is prime) if($num == 2) return true; /** * if the number is divisible by two, then it's not prime and it's no longer * needed to check other even numbers */ if($num % 2 == 0) { return false; } /** * Checks the odd numbers. If any of them is a factor, then it returns false. * The sqrt can be an aproximation, hence just for the sake of * security, one rounds it to the next highest integer value. */ $ceil = ceil(sqrt($num)); for($i = 3; $i <= $ceil; $i = $i + 2) { if($num % $i == 0) return false; } return true; }</code>
Fungsi ini menggunakan tatasusunan untuk menyimpan faktor nombor dan menyemak baki bahagian. Jika sebarang baki adalah sifar, ia menunjukkan kehadiran faktor, menjadikan nombor itu bukan perdana. Walau bagaimanapun, jika tiada faktor ditemui, nombor itu dianggap perdana.
Atas ialah kandungan terperinci Bagaimana Fungsi PHP Boleh Menentukan dengan Cekap sama ada Nombor adalah Perdana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!