Điểm:
100
Thời gian:
0.5s
Bộ nhớ:
640M
Input:
bàn phím
Output:
màn hình
Số hoàn hảo là số mà tổng các ước của nó bằng \(2\) lần chính nó.
Ví dụ: \(6\) là số hoàn hảo vì \(6\) có tổng ước là \(1+2+3+6=12 = 2\) lần số \(6\).
Yêu cầu: Viết chương trình nhập vào số nguyên \(n\). In ra chữ YES
nếu \(n\) là số hoàn hảo, ngược lại ghi chữ NO
Input
- Một số nguyên dương \(n\)(\(n\leq 10^{12}\)).
Output
- In ra chữ
YES
nếu \(n\) là s ố hoàn hảo, ngược lại ghi chữNO
.
Example
Test 1
Input
6
Output
YES
Test 2
Input
36
Output
NO
Bình luận
import math
def sohoanhao(n):
if n <= 1:
return False
tong = 1
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
tong += i
if i != n // i:
tong += n // i
return tong == n
n = int(input())
if sohoanhao(n):
print("YES")
else:
print("NO")
16 bình luận nữa