Bagaimana untuk menggunakan Python untuk melaksanakan algoritma penghakiman nombor perdana?
Nombor perdana merujuk kepada integer positif yang hanya boleh dibahagikan dengan 1 dan dirinya sendiri, seperti 2, 3, 5, 7, dsb. Penentuan nombor perdana ialah masalah algoritma biasa Artikel ini akan memperkenalkan cara menggunakan Python untuk menulis algoritma penentuan nombor perdana yang mudah dan cekap.
Pertama sekali, kita perlu menentukan dengan jelas syarat-syarat untuk menentukan nombor perdana. Untuk integer positif n, jika terdapat nombor k yang memenuhi 2
Seterusnya, kita boleh menulis kod untuk melaksanakan algoritma penghakiman nombor perdana. Berikut ialah contoh kod yang ditulis dalam Python:
import math def is_prime(n): # 排除小于2的数 if n < 2: return False # 循环判断2到sqrt(n)之间的数是否能整除n for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False # 如果没有找到能整除n的数,则n是素数 return True # 测试示例 print(is_prime(2)) # 输出:True print(is_prime(3)) # 输出:True print(is_prime(4)) # 输出:False print(is_prime(17)) # 输出:True print(is_prime(18)) # 输出:False
Dalam kod di atas, kami mula-mula memperkenalkan modul matematik untuk menggunakan fungsi sqrt untuk mengira punca kuasa dua n. Kemudian, kami mentakrifkan fungsi is_prime yang menerima integer n positif sebagai parameter.
Di dalam fungsi is_prime, pertama-tama kami mengecualikan nombor kurang daripada 2, kerana mengikut definisi nombor perdana, nombor perdana mestilah lebih besar daripada atau sama dengan 2. Kemudian, kita menggunakan gelung untuk menentukan sama ada n boleh dibahagikan dalam julat dari 2 hingga sqrt(n). Jika nombor didapati membahagi n, iaitu n bukan nombor perdana, kami segera mengembalikan Salah. Jika masih tiada nombor yang boleh membahagi n selepas gelung berakhir, maka n ialah nombor perdana dan kita kembalikan Benar.
Akhir sekali, kita boleh menguji contoh dengan memanggil fungsi is_prime. Memasuki parameter yang berbeza, kita boleh melihat keputusan penghakiman nombor perdana yang betul.
Sudah tentu, kod di atas hanyalah algoritma mudah untuk melaksanakan pertimbangan nombor perdana. Untuk pertimbangan nombor perdana bagi nombor besar, terdapat algoritma yang lebih cekap, seperti Erathosthenes Sieve. Pembaca boleh mempelajari dan meneroka algoritma ini untuk mencapai pertimbangan nombor perdana yang lebih cekap.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Python untuk melaksanakan algoritma penghakiman nombor perdana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!