program demso_chinhphuong;
uses crt;
var n,i,d:integer;
begin
clrscr;
write('Nhap n: '); readln(n);
d:=0;
for i:=1 to n do
if sqr(trunc(sqrt(i)))=i then d:=d+1;
write('Co ',d,' so chinh phuong');
readln;
end.
Cách 2: chạy nhanh hơn
program demso_chinhphuong;
uses crt;
var n,i,d,m:integer;
begin
clrscr;
write('Nhap n: '); readln(n);
d:=0; m:=1; i:=1;
while m<=n do
begin
m:=m+2*i+1;
i:=i+1;
d:=d+1;
end;
write('Co ',d,' so chinh phuong');
readln;
end.
Nếu bạn muốn biết chúng là số nào ở cách 2 thì bạn writeln(m) trước m:=m+2*i+1 nha