Đếm số lượng ước số
Viết chương trình nhập vào một số nguyên dương \(n\) và in ra số lượng ước số của \(n\).
Ước số của \(n\) là các số nguyên dương \(d\) sao cho \(n\) chia hết cho \(d\) (\(n \bmod d = 0\)).
Ví dụ: \(n = 10\) có 4 ước số là \(1, 2, 5, 10\).
Input
Một dòng chứa số nguyên \(n\) (\(1 \le n \le 10^{12}\)).
Output
In ra một số nguyên duy nhất là số lượng ước số của \(n\).
Ví dụ
| Input | Output |
|---|---|
| 10 | 4 |
| 16 | 5 |
| 1 | 1 |
Giải thích ví dụ
- \(n = 10\) có các ước: \(1, 2, 5, 10\). Có 4 ước.
- \(n = 16\) có các ước: \(1, 2, 4, 8, 16\). Có 5 ước.
- \(n = 1\) chỉ có ước là chính nó. Có 1 ước.
Subtasks
- Subtask 1 (50%): \(n \le 10^6\)
- Subtask 2 (50%): \(n \le 10^{12}\) (yêu cầu thuật toán tối ưu \(O(\sqrt{n})\))
Comments