Số hoàn hảo


Submit solution

Points: 1 (partial)
Time limit: 0.0s
Memory limit: 500M

Author:
Problem type

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 YES nếu \(n\) là số hoàn hảo, ngược lại in NO.

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

There are no comments at the moment.