Đếm ước

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: 2300 (p) Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Với một số tự nhiên \(x\), ta gọi \(d(x)\) là số lượng ước của nó. Ví dụ, với \(x = 6\) ta có \(d(x) = 4\)\(6\) có các ước là \(1,2,3,6\).
Ngoài ra, ta định nghĩa thêm hàm \(f(x)\) là tích các ước số, mà là số nguyên tố của một số \(x\). Nhắc lại, số nguyên tố là số chỉ chia hết cho \(1\) và chính nó. Như vậy, ta có \(f(6) = 2\times 3 = 6\)
Cho trước các số \(n,a,b\). Hãy đếm xem trong các số tự nhiên \(i\) trong khoảng từ \(1\) tới \(n\), có bao nhiêu số thỏa mãn:

\[ \begin{cases} i\times f(i) \le n \\ a \le d(i) \le b \end{cases} \]

Input

  • Gồm một dòng duy nhất chứa các số nguyên dương \(n,a,b (a \le b)\)

Output

  • Gồm một dòng duy nhất chứa số lượng đếm được.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(a = b = 2\)\(n \le 10^6\)
  • Subtask \(2\) (\(30\%\) số điểm): \(a = 2, b = 4\)\(n \le 4 \times 10^6\).
  • Subtask \(3\) (\(30\%\) số điểm): \(3 \le a \le b = 6\)\(n \le 10^{12}\)
  • Subtask \(4\) (\(20\%\) số điểm): \(3 \le a, 7 \le b \le 20, n \le 10^{12}\)

Example

Test 1

Input
400 2 2
Output
8
Note

Các giá trị \(i\) thỏa mãn \(2,3,5,7,11,13,17,19\)

Bình luận

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

Không có bình luận nào.