Số hoàn hảo
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Một số nguyên dương là số hoàn hảo nếu nó bằng tổng các ước dương của nó không kể chính nó (ví dụ ~6 = 1 + 2 + 3~). Cho số nguyên dương ~n~, hãy kiểm tra xem ~n~ có phải số hoàn hảo không.
Dữ liệu vào
Một số nguyên dương ~n~ (~1 \le n \le 10^9~).
Kết quả
In ra YES nếu ~n~ là số hoàn hảo, ngược lại in NO.
Ví dụ
Ví dụ 1
Input:
6
Output:
YES
Ví dụ 2
Input:
12
Output:
NO
Giải thích
Ước ~d~ luôn đi cùng ước ~n / d~, nên chỉ cần duyệt ~d~ đến ~\sqrt{n}~ (khoảng ~31623~ lần với ~n = 10^9~). Cẩn thận để không cộng một ước hai lần khi ~d \times d = n~.
Đang tải...