Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách kiểm tra số nguyên tố trong Python?

Nguyên lý giải quyết bài toán này là chia số cho trước cho tất cả các số từ 3 đến căn bậc hai của nó. Căn bậc hai của một số là ước số lớn nhất có thể, sau đó không cần kiểm tra thêm bất kỳ số nào khác để xác định xem nó có phải số nguyên tố hay không.

Hàm trả về False cho tất cả các số chia hết cho 2 và nhỏ hơn 2. Đối với các số còn lại, giá trị trả về của hàm all() sẽ là False nếu nó chia hết cho bất kỳ số nào đến căn bậc hai của nó, và True nếu không chia hết cho số nào.

Ví dụ

def is_prime(a):
    if a < 2:
        return False
    elif a != 2 and a % 2 == 0:
        return False
    else:
        return all(a % i for i in range(3, int(a**0.5) + 1))

num = int(input('Nhập một số: '))
if is_prime(num):
    print("{} là số nguyên tố".format(num))
else:
    print("{} không phải là số nguyên tố".format(num))

Kết quả

Chạy thử chương trình trên:

Nhập một số: 24
24 không phải là số nguyên tố
Nhập một số: 47
47 là số nguyên tố