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.

 

Read:   Cộng mảng trong pascal
Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *