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

Sinh cặp số nguyên tố sinh đôi (prime twins) trong Python

Số nguyên tố sinh đôi (twin primes) là cặp số nguyên tố chênh lệch 2. Các cặp đầu: {3,5}, {5,7}, {11,13}, {17,19}. Có thể sinh bằng vòng lặp kiểm tra tính nguyên tố.

Ví dụ

def is_prime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True

def generate_twins(start, end):
    for i in range(start, end):
        j = i + 2
        if is_prime(i) and is_prime(j):
            print("{:d} and {:d}".format(i, j))

generate_twins(2, 100)

Kết quả

3 and 5
5 and 7
11 and 13
17 and 19
29 and 31
41 and 43
59 and 61
71 and 73

Tối ưu: Hàm is_prime có thể cải tiến bằng cách chỉ kiểm tra đến sqrt(n) và bỏ qua số chẵn.