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 Dữ liệu vào Một số nguyên dương n (n≤1012). Kết quả In ra chữ YES nếu n là số hoàn hảo, ngược lại ghi chữ NO Sample Input 1 6 Sample Output 1 YES Sample Input 2 36 Sample Output 2 NO
2 câu trả lời
*Python:
from math import sqrt
n=int(input())
tc=0
for i in range (1,int(sqrt(n))+1):
if (n%i==0):
tc+=i
if (n/i!=i):
tc+=n//i
if (n*2==tc):
print("YES")
else:
print("NO")
print("NO")
Uses crt;
Var
n,i,s: integer;
Begin
repeat
clrscr;
writeln('Nhap so nguyen n: '); readln(n);
until(n<=1012);
s:=0;
for i:=1 to n do
if n mod i=0 then s:=s+i;
if s=n*2 then writeln('YES') else writeln('NO');
readln;
End.