program MySqrtProgram;
function MySqrt(n : LongInt) : LongInt;
var
start, finish, mid : LongInt;
begin
if (n = 0) or (n = 1) then
begin
MySqrt := n;
Exit;
end;
start := 1;
finish := n;
while start <= finish do
begin
mid := start + (finish - start) div 2;
if Int64(mid) * mid > n then
finish := mid - 1
else if mid * mid = n then
begin
MySqrt := mid;
Exit;
end
else
start := mid + 1;
end;
MySqrt := finish;
end;
begin
WriteLn(MySqrt(240000));
end.
(*
run:
489
*)