Bài 2: Số nguyên tố cặp (TS10 PTNK thi thử lần 1 - 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Số nguyên dương \(X\) được gọi là "Nguyên tố cặp" nếu:

  1. \(X\) là một số nguyên tố.
  2. Tồn tại ít nhất một vị trí chia \(X\) thành 2 phần khác rỗng, mỗi phần đều tạo thành một số nguyên tố.

Ví dụ:

  • \(317\) là nguyên tố cặp vì có thể chia thành \(3\)\(17\), hoặc \(31\)\(7\).
  • \(307\) là nguyên tố cặp vì có thể chia thành \(3\)\(07 \to\) tương đương \(3\)\(7\).
  • \(29\) không phải nguyên tố cặp vì chia thành \(2\)\(9\) (\(9\) không phải số nguyên tố).
  • \(103\) không phải nguyên tố cặp vì chia thành \((1, 03)\)\((10, 3)\) đều không phải cặp nguyên tố.

Yêu cầu: Cho hai số nguyên dương \(L, R\). Hãy đếm số lượng số nguyên tố cặp trong đoạn \([L, R]\).

Input

  • Dòng đầu chứa số nguyên \(T\) (\(1 \le T \le 10^5\)) là số lượng test.
  • Mỗi dòng trong \(T\) dòng tiếp theo chứa 2 số \(L, R\) (\(1 \le L \le R \le 10^7\)).

Output

  • Gồm \(T\) dòng, mỗi dòng ghi kết quả của bộ test tương ứng được cho trong dữ liệu vào.

Example

Test 1

Input
3
10 60
310 320
1 10
Output
3
3
0
Note
  • Với đoạn \([10, 60]\), có 3 số: \(23, 37, 53\).
  • Với đoạn \([310, 320]\), có 3 số: \(311, 313, 317\).
  • Với đoạn \([1, 10]\), không có số nào thỏa mãn.

Scoring

  • Subtask \(1\) (\(25\%\) số điểm): \(T \le 100; 1 \le L \le R \le 1000\).
  • Subtask \(2\) (\(25\%\) số điểm): \(T \le 100; 1 \le L \le R \le 10^6\).
  • Subtask \(3\) (\(50\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận (1)

Mới nhất
Tải bình luận...