Bài 3. Trò chơi đếm số (TS10 Quảng Trị 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: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: CAU3.INP Output: CAU3.OUT

Trong buổi sinh hoạt ngoại khóa, thầy giáo tổ chức một trò chơi nhỏ như sau: mỗi lần thầy viết lên bảng cặp số \(a\)\(b\), thì các bạn nhanh chóng đếm xem có bao nhiêu số nguyên trong đoạn từ \(a\) đến \(b\) có số lượng các ước của nó là một số nguyên tố.

Ví dụ, với \(a=4\)\(b=6\), đoạn \([4, 6]\) ta có:

  • Số \(4\)\(3\) ước \((1, 2, 4)\): \(3\) là số nguyên tố;
  • Số \(5\)\(2\) ước \((1, 5)\): \(2\) là số nguyên tố;
  • Số \(6\)\(4\) ước \((1, 2, 3, 6)\): \(4\) không phải là số nguyên tố;

Nên trong đoạn \([4, 6]\) ta đếm được \(2\) số có số lượng ước của nó là số nguyên tố (\(4\)\(5\)).

Sau \(N\) lần đưa ra các cặp số \(a\)\(b\), thầy giáo yêu cầu đưa ra kết quả cuối cùng chính là tổng số của \(N\) lần đếm trên.

Input

  • Dòng 1: chứa số nguyên \(N\) là số lượng các cặp \([a, b]\) cần đếm (\(0 \le N \le 10^5\)).
  • \(N\) dòng tiếp theo: mỗi dòng chứa một cặp số nguyên \(a\)\(b\) (\(1 \le a \le b \le 10^6\)). Các số được ghi cách nhau bởi một dấu cách.

Output

  • Ghi ra một dòng duy nhất là số nguyên là tổng của \(N\) lần đếm trên.

Example

Test 1

Input
2
4 6
4 7
Output
5
Note
  • Đoạn \([4, 6]\)\(2\) số thỏa mãn yêu cầu.
  • Đoạn \([4, 7]\)\(3\) số thỏa mãn yêu cầu (số \(7\)\(2\) ước, \(2\) là số nguyên tố).
  • Tổng sẽ là: \(2 + 3 = 5\).

Scoring

  • \(40\%\) số test tương ứng \(40\%\) số điểm của bài với \(1 \le a \le b \le 200\)\(N \le 200\).
  • \(30\%\) số test tương ứng \(30\%\) số điểm của bài với \(1 \le a \le b \le 2000\)\(N \le 1000\).
  • \(30\%\) số test tương ứng \(30\%\) số điểm của bài với \(1 \le a \le b \le 10^6\)\(N \le 10^5\).

Bình luận (7)

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