Số nguyên tố kép trong Python

Lập trình website

Số nguyên tố kép là gì?

Số nguyên tố kép (twin prime) là một cặp số nguyên tố cách nhau đúng 2 đơn vị. Nghĩa là, nếu ta có hai số nguyên tố p và q, thì chúng được coi là số nguyên tố kép nếu q = p + 2. Ví dụ về số nguyên tố kép là cặp số (3, 5), (11, 13), (17, 19) và (29, 31).

Số nguyên tố kép có sự tương đồng với số nguyên tố sinh đôi, nhưng chỉ khác nhau về phần tử đầu tiên. Trong số nguyên tố sinh đôi, cặp số nguyên tố cách nhau đúng 2 đơn vị, nhưng phần tử đầu tiên của cặp số là số chẵn. Ví dụ về số nguyên tố sinh đôi là cặp số (2, 4), (11, 13), (17, 19) và (41, 43).

Cả số nguyên tố kép và số nguyên tố sinh đôi đều là các đối tượng quan trọng trong lĩnh vực lý thuyết số và vẫn là đề tài nghiên cứu của nhiều nhà toán học.

Thuật toán tìm số nguyên tố kép

Dưới đây là một thuật toán đơn giản để tìm các số nguyên tố kép:

  1. Đặt một biến count = 0 để đếm số lượng số nguyên tố kép đã tìm thấy.
  2. Đặt một biến current = 2 và kiểm tra xem current và current + 2 có cùng đều là số nguyên tố hay không.
  3. Nếu current và current + 2 đều là số nguyên tố, in ra cặp số (current, current + 2) và tăng giá trị count lên 1.
  4. Tăng giá trị current lên 1 và quay lại bước 2.
  5. Lặp lại các bước 2 đến 4 cho đến khi count đạt đủ số lượng số nguyên tố kép cần tìm.

Cài đặt thuật toán tìm số nguyên tố kép

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

def twin_primes(n):
    count = 0
    current = 2

    while count < n:
        if is_prime(current) and is_prime(current + 2):
            print(f"({current}, {current + 2})")
            count += 1
        current += 1

# Số lượng số nguyên tố kép cần tìm
n = 5

twin_primes(n)

Trong ví dụ trên, hàm is_prime được sử dụng để kiểm tra xem một số có phải là số nguyên tố hay không. Hàm twin_primes nhận đầu vào là số lượng số nguyên tố kép cần tìm và tìm các số nguyên tố kép bằng cách sử dụng vòng lặp và gọi hàm is_prime để kiểm tra tính nguyên tố.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *