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 61+2+3+6=12=2 lần số là số hoàn hảo vì 6
1
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
program so_hoan_hao;
var
n, tong_uoc, i: integer;
begin
writeln('Nhap vao mot so nguyen duong n:');
readln(n);
tong_uoc := 0;
for i := 1 to n-1 do
begin
if n mod i = 0 then
tong_uoc := tong_uoc + i;
end;
if tong_uoc = n then
writeln('YES')
else
writeln('NO');
end.