Untuk masalah matematik yang memerlukan urutan nombor perdana tak terhingga, adalah penting untuk cari cara yang cekap untuk menjananya tanpa menggunakan memori yang berlebihan. Artikel ini membentangkan pelaksanaan Python yang dioptimumkan yang memanfaatkan teknik untuk menjana nombor perdana dengan cekap dan menyediakan perbandingan algoritma yang berbeza.
Fungsi Theerat2, yang biasa digunakan untuk menjana nombor perdana, boleh dioptimumkan lagi. Era2a meningkatkan kecekapan dengan mengurangkan langkah yang tidak perlu dan mengeksploitasi sifat ganjil nombor perdana untuk mengelakkan semakan ganjil yang tidak perlu.
Era3 meningkatkan lagi kelajuan dengan memanfaatkan pemerhatian matematik: semua nombor perdana (kecuali 2, 3, dan 5) modulo 30 menghasilkan hanya lapan nombor yang mungkin. Ini membolehkannya menapis calon yang berpotensi, menghasilkan peningkatan prestasi yang ketara.
Tanda aras perbandingan pada konfigurasi perkakasan berbeza menunjukkan peningkatan prestasi yang dicapai oleh erat2a dan erat3 berbanding algoritma erat2 yang asal .
Kod untuk setiap satu ini dioptimumkan penjana nombor perdana boleh didapati dalam modul primegen.py yang disediakan.
Artikel ini membentangkan tiga algoritma yang dioptimumkan, erat2a dan erat3, untuk menjana nombor perdana tak terhingga dengan cekap dalam Python. Algoritma ini memberikan peningkatan prestasi yang ketara berbanding fungsi erat2 asal, menjadikannya sesuai untuk masalah matematik yang memerlukan bilangan nombor perdana yang besar.
Atas ialah kandungan terperinci Bagaimanakah Kita Boleh Menjana Urutan Nombor Perdana Tak Terhingga dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!