Liệt kê số chính phương nhỏ hơn hoặc bằng n trong pascal
Viết chương trình nhập vào một số n (n <2 tỉ), xuất ra những số chính phương nhỏ hơn hoặc bằng n
Dữ liệu vào file: Tim_cp.inp | Dữ liệu ra file: Tim_cp.out |
Chứa số n (n <2 tỉ) | Dãy các số chính phương |
program Dem_nguyen_to; var m,k:longint;f:text; {--- Chuong trinh con kiem tra so cp ----------} function chinh_phuong(n:longint):boolean; begin if n<0 then chinh_phuong:=false else if sqr(trunc(sqrt(n)))=n then chinh_phuong:=true else chinh_phuong:=false; end; {--- het CT con------} {----Than chuong trinh chinh ------} begin {----Doc file ----} assign(f,'tim_cp.inp'); reset(f); read(f,m);close(f); {----Mo file de ghi----} assign(f,'tim_cp.out'); rewrite(f); k:=0; while k<=m do begin if chinh_phuong(k) then begin write(f,k,' '); end; k:=k+1; end; close(f); end.