Menggabungkan Formula Nombor Perdana ke dalam Gelung
Dalam usaha mencari nombor perdana dengan cekap menggunakan gelung, anda mungkin menghadapi situasi di mana anda sedia ada pendekatan menjadi pendek. Mari kita terokai kes penggunaan tertentu dan sediakan penyelesaian yang dikemas kini menggunakan formula tersuai.
Percubaan Asal dan Kekurangannya
Kod yang anda kongsi pada mulanya cuba mengenal pasti nombor perdana menggunakan pendekatan berasaskan gelung. Walau bagaimanapun, ia menghadapi batasan dalam mengenal pasti nombor perdana dengan betul, terutamanya disebabkan kaedah membahagi nombor.
Formula dan Pelaksanaan yang Dioptimumkan
Untuk menangani perkara ini, pertimbangkan untuk melaksanakan fungsi isPrime() yang disebut dalam respons yang disediakan:
<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; }
Menggabungkan Formula ke dalam Gelung
Kini, anda boleh memanfaatkan fungsi ini dalam satu gelung untuk mencari dengan cekap nombor perdana:
<code class="php">$limit = 100; // Set a limit to the number range you want to check for ($i = 2; $i <= $limit; $i++) { if (isPrime($i)) { echo $i . " is a prime number. <br>"; } }</code>
Dengan pendekatan yang dikemas kini ini, anda kini boleh mengenal pasti nombor perdana dengan tepat sehingga had yang ditentukan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencari nombor perdana dengan cekap menggunakan gelung dan formula tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!