Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Python untuk melaksanakan algoritma penghakiman nombor perdana?

Bagaimana untuk menggunakan Python untuk melaksanakan algoritma penghakiman nombor perdana?

PHPz
PHPzasal
2023-09-21 14:00:431687semak imbas

Bagaimana untuk menggunakan Python untuk melaksanakan algoritma penghakiman nombor perdana?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn