Bài 3. Số đặc biệt (THT B Đà Nẵng 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: 1200 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Một số nguyên dương gọi là "Số đặc biệt" nếu số lượng các ước số của nó là một số nguyên tố.

Ví dụ:

  • Số \(4\) có các ước là \(\{1, 2, 4\}\). Số lượng ước là \(3\). Vì \(3\) là số nguyên tố nên \(4\) là số đặc biệt.
  • Số \(6\) có các ước là \(\{1, 2, 3, 6\}\). Số lượng ước là \(4\). Vì \(4\) không phải là số nguyên tố nên \(6\) không phải là số đặc biệt.

Nam được cô giáo giao cho một danh sách các câu hỏi, mỗi câu hỏi yêu cầu đếm xem trong đoạn từ \([L, R]\) có bao nhiêu số đặc biệt. Vì danh sách rất dài nên Nam phải viết một chương trình để giải quyết nhanh chóng.

Yêu cầu: Cho \(Q\) câu hỏi, mỗi câu hỏi gồm hai số nguyên \(L\)\(R\). Hãy đếm số lượng số đặc biệt trong đoạn \([L, R]\).

Input

  • Dòng đầu tiên chứa số nguyên \(Q\) (\(1 \le Q \le 10^5\)) là số lượng câu hỏi.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(L\)\(R\) (\(1 \le L \le R \le 10^6\)).

Output

  • Ghi ra \(Q\) dòng, mỗi dòng là đáp án cho câu hỏi tương ứng.

Example

Test 1

Input
2
1 5
7 10
Output
4
2
Note
  • Từ \(1\) đến \(5\)\(4\) số đặc biệt là: \(2, 3, 4, 5\).
  • Từ \(7\) đến \(10\)\(2\) số đặc biệt là: \(7, 9\).

Scoring

  • \(30\%\) số điểm tương ứng \(Q \le 100\)\(R \le 1000\).
  • \(40\%\) số điểm tương ứng \(Q \le 10^5\)\(R \le 10^5\).
  • \(30\%\) số điểm tương ứng \(Q \le 10^5\)\(R \le 10^6\).

Bình luận (1)

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

Kỳ thi: