SUMDIV - Tổng ước

Link Sub: http://www.spoj.com/PTIT/problems/SUMDIV/
Người Gửi: Darkness

  • Problem:

Tính tổng các ước của số n (n≤10^12).

Input
Dòng đầu chứa số bộ test.  
Các dòng sau, mỗi dòng chứa 1 số nguyên dương n (n≤10^12).
Output
Mỗi test in trên 1 dòng chứa 1 số nguyên là tổng các ước của test tương ứng.
Example:
Input
2
5
6
Output:
6
12

  • Solution:

- Tìm các ước trong khoảng i:[1, sqrt(n)). 
- Với mỗi giá trị tìm được ta có 2 ước là i và n/i; 
Chú ý nếu là số chính phương thì ta có thêm một ước là sqrt (n).

  • Code:
C:



C++:



JAVA:


Share this

Related Posts

Previous
Next Post »

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:P
:o
:>)
(o)
:p
:-?
(p)
:-s
(m)
8-)
:-t
:-b
b-(
:-#
=p~
$-)
(y)
(f)
x-)
(k)
(h)
cheer