Viết chương trình nhập vào số nguyên dương N (N < 2000). Thực hiện yêu cầu:
- Dòng 1: Xét xem N có phải là số chính phương hay không?
- Dòng 2: Xuất ra màn hình tất cả các số chính phương nhỏ hơn N và lớn hơn 1.
- Dòng 3: Có bao nhiêu số chính phương chẵn
- Dòng 4: Có bao nhiêu số chính phương lẻ.
CODE THAM KHẢO:
program BT1;
uses crt;
var CP:array[1..2000] of integer;
i,j,n,x,c,l,y: integer;
begin
clrscr;
write('Nhap so nguyen duong N = '); readln(n);
x:=trunc(sqrt(n));
if sqr(x) = n then writeln(n,' la so chinh phuong')
else writeln(n,' khong phai la so chinh phuong');
c:=0; l:=0; j:=0;
for i:=2 to n-1 do
begin
y:=trunc(sqrt(i));
if sqr(y) = i then
begin
j:=j+1;
CP[j]:=i;
if i mod 2 = 0 then c:=c+1 else l:=l+1;
end;
end;
write('Cac so chinh phuong lon hon 1 va nho hon ',n,' la: ');
for i:=1 to j do write(CP[i],' '); writeln;
writeln('Co ',c,' so chinh phuong chan');
writeln('Co ',l,' so chinh phuong le');
readln;
end.
Đăng nhận xét