Rumah >pembangunan bahagian belakang >tutorial php >Operasi Tolak Perdana
2601. Operasi Tolak Perdana
Kesukaran: Sederhana
Topik: Tatasusunan, Matematik, Carian Binari, Tamak, Teori Nombor
Anda diberi 0-diindeks nombor tatasusunan integer dengan panjang n.
Anda boleh melakukan operasi berikut seberapa banyak kali yang anda mahu:
Kembali benar jika anda boleh menjadikan nombor tatasusunan yang semakin meningkat menggunakan operasi di atas dan palsu sebaliknya.
A tatasusunan yang semakin meningkat ialah tatasusunan yang setiap elemennya lebih besar daripada elemen sebelumnya.
Contoh 1:
Contoh 2:
Contoh 3:
Kekangan:
Petunjuk:
Penyelesaian:
Kita perlu memecahkan algoritma dan menyesuaikannya dengan sintaks dan fungsi PHP. Penyelesaian terutamanya melibatkan langkah-langkah berikut:
Mari laksanakan penyelesaian ini dalam PHP: 2601. Operasi Tolak Perdana
primeSubOperation([4, 9, 6, 10]) ? 'true' : 'false'; // Output: true echo $solution->primeSubOperation([6, 8, 11, 12]) ? 'true' : 'false'; // Output: true echo $solution->primeSubOperation([5, 8, 3]) ? 'true' : 'false'; // Output: false ?>Penjelasan:
primeSubOperation: Gelung melalui setiap elemen dalam nombor dan semak jika kita boleh menjadikan setiap elemen lebih besar daripada yang sebelumnya dengan menolak perdana yang sesuai.
- Kami menggunakan $this->findLargestPrimeLessThan untuk mencari prima terbesar kurang daripada num - prevNum.
- Jika bilangan perdana sedemikian wujud, kami menolaknya daripada nombor semasa.
- Jika selepas menolak perdana, nombor semasa tidak lebih besar daripada prevNum, kami mengembalikan palsu.
- Jika tidak, kami mengemas kini prevNum kepada nombor semasa.
ayakEratosthenes: Menghasilkan semua nombor perdana sehingga 1000 menggunakan Ayakan Eratosthenes dan mengembalikannya sebagai tatasusunan.
findLargestPrimeLessThan: Menggunakan carian binari untuk mencari perdana terbesar kurang daripada had yang diberikan, memastikan kami menemui perdana optimum untuk penolakan.
Analisis Kerumitan
Penyelesaian ini akan mengembalikan benar atau salah berdasarkan sama ada mungkin untuk membuat angka meningkat dengan ketat dengan melakukan operasi tolak perdana yang diterangkan.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci Operasi Tolak Perdana. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!