viết chương trình Nhập 1 số nguyên dương n và kiểm tra xem n có phải là số hoàn hảo không.
2 câu trả lời
uses crt;
var n:longint;
tong,i:integer;
BEGIN clrscr;
write('Nhap so nguyen duong n: ');
readln(n);
tong:=0;
for i:=1 to n div 2 do
if n mod i=0 then tong:=tong+i;
if tong=n then
writeln(n,' la so hoan hao')
else writeln(n,'khong la so hoan hao');
readln
END.
var n:longint;
function hoanhao(n:longint):boolean;
var x,dem,c:longint;
begin
dem:=0;
for x:=1 to n-1 do
if n mod x=0 then
dem:=dem+x;
if dem=n then exit(true);
exit(false);
end;
begin
write('Nhap n: '); readln(n);
if hoanhao(n) then write(' La so hoan hao ') else write('Khong phai so hoan hao');
readln
end.
Câu hỏi trong lớp
Xem thêm