Tổng GCD
Xem dưới dạng PDF
Gửi bài giải
Điểm:
30
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Kiểu bài tập
Cho số nguyên dương \(N\). Yêu cầu đặt ra là hãy tính tổng ước chung lớn nhất của mọi số nguyên từ 1 đến N với \(N\): \(S(N) = \left( \sum_{i=1}^{N} \gcd(i, N) \right) \pmod{10^9+7}\)
Hãy tìm phương án tính toán tối ưu khi \(N\) có giá trị rất lớn.
Định dạng đầu vào
- Một dòng duy nhất chứa số nguyên dương \(N\) (\(1 \le N \le 10^{12}\)).
Định dạng đầu ra
- Một số nguyên duy nhất là giá trị của tổng \(S(N) \pmod{10^9+7}\).
Ví dụ
Input:
6
Output:
15
Giải thích
Tổng bằng: \(\gcd(1, 6) + \gcd(2, 6) + \gcd(3, 6) + \gcd(4, 6) + \gcd(5, 6) + \dots = 1 + 2 + 3 + 2 + 1 + 6 = 15\).
Ràng buộc
- 30% số điểm ứng với \(N \le 10^6\)
- 70% số điểm còn lại không có ràng buộc gì thêm.
Nhận xét