[Buổi 7][Hàm số học][HW] Bài 2: Đếm ước dương
Đếm ước dương
Bối cảnh
Một số nguyên dương có thể được biểu diễn bằng nhiều cặp ước. Hệ thống cần biết tổng số ước dương của n.
Nếu duyệt từ 1 đến n thì có thể quá chậm. Hãy tận dụng việc các ước xuất hiện theo cặp.
Yêu cầu
- Đọc số nguyên dương
n. - Đếm toàn bộ ước dương của n.
- Chú ý số chính phương: căn bậc hai chỉ được tính một lần.
Yêu cầu tổ chức code
Tạo hàm countDivisors(n).
Lưu ý: Online Judge chủ yếu kiểm tra tính đúng của output. Yêu cầu tổ chức code được dùng để rèn đúng kỹ năng của buổi học và sẽ được giảng viên quan sát khi chữa bài.
Input
Một số nguyên n.
Output
Một số nguyên là số lượng ước dương.
Ràng buộc
1 ≤ n ≤ 10^12.
Ví dụ 1
Input
12
Output
6
Giải thích
Các ước dương của 12 là 1, 2, 3, 4, 6, 12 nên có 6 ước.
Ví dụ 2
Input
1
Output
1
Giải thích
1 chỉ có một ước dương là chính nó, nên output bằng 1.
Thông tin học tập
- Module: M02
- Buổi: B07
- Loại bài: HOMEWORK
- Độ khó: Medium
- Concepts: functions, divisor counting, square-root optimization
- Giới hạn kiến thức: B01-B07
- Time limit: 1 second(s)
- Memory limit: 256 MB
- Point: 100
Comments