đề sai, sửa lại nhé :)
cho hai số a và b(a<b)
uses crt;
var a,b,nt,cp,hh,i,j,x:longint;
begin
write('nhap 2 so a va b:');
readln(a,b);
nt:=0; cp:=0;hh:=0;
for i:=a to b do begin
if i>1 then begin
x:=0;
for j:=2 to i-1 do
if i mod j=0 then x:=1;
if x=0 then inc(nt);
end;
x:=trunc(sqrt(i));
if sqr(x)=i then inc(cp);
x:=0;
if i>1 then
for j:=1 to i-1 do
if i mod j=0 then x:=x+j;
if x=i then inc(hh);
end;
writeln('co ',nt,' so nguyen to');
writeln('co ',cp,' so chinh phuong');
writeln('co ',hh,' so hoan hao');
readln
end.