Câu 1:
uses crt;
var n,i:longint;
function hh(a:longint):boolean;
var s,i:longint;
begin
hh:=true; s:=0;
for i:=1 to a div 2 do
if a mod i=0 then inc(s,i);
if s<>a then hh:=false;
end;
begin
clrscr;
write('Nhap n: '); readln(n);
if hh(n) then writeln(n,' la so hoan hao')
else writeln(n,' khong phai so hoan hao');
readln
end.
Câu 2:
B1: gán s←0; i←1
B2: đặt điều kiện i<=n mỗi lần lặp inc(s,i); inc(i,2)
B3: nếu i>n thì in kết quả S= ra màn hình
B4: quay lại B2 đến khi thỏa mãn B3