Số hoàn hảo
Số hoàn hảo là số nguyên dương có tổng các ước (tính cả 1 và chính nó) bằng gấp đôi chính nó.
Nói cách khác, tổng các ước thực sự (không tính chính nó) bằng chính số đó.
Ví dụ: \(6\) là số hoàn hảo vì các ước của nó là \(1, 2, 3, 6\), tổng là \(1+2+3+6 = 12 = 2 \times 6\).
Yêu cầu: Viết chương trình nhập vào số nguyên \(n\), in ra YES nếu \(n\) là số hoàn hảo, ngược lại in NO.
Dữ liệu vào
- Một số nguyên dương \(n\) (\(n \le 10^{12}\)).
Dữ liệu ra
- In ra
YESnếu \(n\) là số hoàn hảo, ngược lại inNO.
Ví dụ
| Input | Output |
|---|---|
| 6 | YES |
| 36 | NO |
Gợi ý
Các số hoàn hảo chẵn có dạng \(2^{p-1} \times (2^p - 1)\), trong đó \(2^p - 1\) là số nguyên tố Mersenne (với \(p\) nguyên tố).
Trong phạm vi \(n \le 10^{12}\), các số hoàn hảo là: \(6, 28, 496, 8128, 33550336, 8589869056\).
Comments