📝 **Giải Bài Toán: Tìm Số Nguyên Tố Đối Xứng Lớn Nhất** -------------------------------------------------------- ### **1️⃣ Đề Bài** Cho một số nguyên dương **N**. Hãy tìm **số nguyên tố đối xứng lớn nhất** không vượt quá **N**. Một số là **số nguyên tố đối xứng** nếu: - **Là số nguyên tố** (chỉ chia hết cho 1 và chính nó). - **Là số đối xứng** (đọc từ trái sang phải và phải sang trái giống nhau). --- ### **2️⃣ Ví Dụ** #### **Input**: ``` 100 ``` #### **Giải thích**: Các số đối xứng trong khoảng từ 1 đến 100: `1, 2, 3, 5, 7, 11, 22, 33, 44, 55, 66, 77, 88, 99` Trong đó, số vừa **đối xứng** vừa **là số nguyên tố**: `2, 3, 5, 7, 11` 👉 **Số nguyên tố đối xứng lớn nhất ≤ 100 là `11`** #### **Output**: ``` 11 ``` --- ### **3️⃣ Cách Giải** 1. **Duyệt giảm dần từ `N` về `2`**, tìm số thỏa mãn điều kiện. 2. **Kiểm tra số nguyên tố** bằng cách thử chia các số từ `2` đến `sqrt(n)`. 3. **Kiểm tra số đối xứng** bằng cách so sánh số với chuỗi đảo ngược của nó. 4. **Trả về số đầu tiên thỏa mãn**. --- ### **4️⃣ Code Python** ```python import math def la_so_nguyen_to(n): """Kiểm tra số nguyên tố""" if n < 2: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True def la_so_doi_xung(n): """Kiểm tra số đối xứng""" return str(n) == str(n)[::-1] def so_nguyen_to_doi_xung_lon_nhat(N): """Tìm số nguyên tố đối xứng lớn nhất không vượt quá N""" for num in range(N, 1, -1): if la_so_doi_xung(num) and la_so_nguyen_to(num): return num # Đọc input N = int(input()) # Xuất kết quả print(so_nguyen_to_doi_xung_lon_nhat(N)) ``` --- ### **5️⃣ Giải Thích Code** - **Hàm `la_so_nguyen_to(n)`**: Kiểm tra xem `n` có phải số nguyên tố không bằng cách thử chia từ `2` đến `sqrt(n)`. - **Hàm `la_so_doi_xung(n)`**: Chuyển số thành chuỗi, kiểm tra nếu chuỗi đó bằng chuỗi đảo ngược của nó. Nếu bằng thì là **số đối xứng**. - **Hàm `so_nguyen_to_doi_xung_lon_nhat(N)`**: để tìm số nguyên tố đối xứng lớn nhất nhỏ hơn hoặc bằng`n` - Duyệt giảm dần từ `N` về `2`. - Nếu số đó vừa là **số nguyên tố** vừa là **số đối xứng**, trả về ngay.