Cho số nguyên dương n. Hãy lập trình tìm số chính phương có giá trị gần n nhất Dữ liệu vào: Tệp văn bản SOCP.INP gồm một dòng chỉ ghi một số nguyên n (0<n≤10^9) Kết quả: Ghi ra tệp văn bản SOCP.OUT số chính phương tìm được. Ví dụ: SOCP.INP SOCP.OUT 17 16 28 25 HELP

1 câu trả lời

Program TH_1

Uses crt;
Var f: text; t,s,n,kq: longint;
Begin
      Clrscr;
      Assign (f,'SOCP.INP'); reset( f);
      Readln (f,n);
      Close (f);
      Assign (f,'SOCP.OUT'); rewrite (f); t:=n; s:=n;
      While sqrt (t)<>trunc( sqrt (t)) do t:=t-1;
      While sqrt s)<>trunc( sqrt (s)) do s:=s+1;
      Kq:=t;
      if n-kq>s-n then kq:=s;
      Writeln (f, kq);
      Close (f); 

       Readln;
End.

#Hãy cho mình câu trả lời hay nhất và vote 5 sao nhé!

#Chúc bạn học tốt!