Cara Terpantas untuk Menyenaraikan Semua Perdana Di Bawah N
Dalam Python, terdapat beberapa algoritma yang cekap untuk menyenaraikan semua nombor perdana di bawah nombor N yang diberikan . Salah satu algoritma terpantas ialah Sieve of Atkin, yang menggunakan gabungan operasi penapisan dan aritmetik untuk mengenal pasti nombor perdana.
Algoritma Cekap Lain
Selain Sieve of Atkin, algoritma cekap lain untuk menyenaraikan nombor perdana termasuk:
Memilih Algoritma yang Tepat
Algoritma terbaik untuk aplikasi khusus anda akan bergantung pada saiz N dan kelajuan yang dikehendaki. Untuk nilai kecil N, Sieve of Eratosthenes ialah pilihan yang mudah dan cekap. Untuk nilai N yang lebih besar, Sieve of Atkin atau salah satu daripada algoritma lain yang dinyatakan di atas mungkin lebih sesuai.
Berikut ialah pelaksanaan Python bagi Sieve of Atkin:
def sieve_of_atkin(limit): """Return a list of prime numbers up to the given limit.""" # Create a list of all integers up to the given limit. numbers = list(range(limit + 1)) # Mark 0 and 1 as non-prime. numbers[0] = numbers[1] = 0 # Iterate over all odd numbers up to the square root of the limit. for i in range(3, int(limit**0.5) + 1, 2): # If i is prime, mark all multiples of i as non-prime. if numbers[i]: for j in range(i * i, limit + 1, i * 2): numbers[j] = 0 # Return the list of prime numbers. return [number for number in numbers if number]
Pertimbangan Tambahan
Atas ialah kandungan terperinci Apakah Cara Terpantas untuk Mencari Semua Nombor Perdana Di Bawah Nombor N Diberikan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!