Решите на языке pascal, применяя цикл с предусловием дано целое положительное число n. найти наименьшее целое положительное число k, квадрат которого превосходит n. функцию извлечения квадратного корня не использовать.
Var lf,rt,n,k: integer; begin write('N = '); readln(n); lf:=1; rt:=n; while (lf+1<rt) do begin k:=(lf+rt) shr 1; if k*k>n then rt:=k else lf:=k; end; writeln('k = ',rt); end.
var n,k,i: integer;
begin
write('Введите n: ');
readln(n);
k:=0;
while k*k<n+1 do k:=k+1;
writeln(k);
end.
begin
write('N = '); readln(n);
lf:=1; rt:=n;
while (lf+1<rt) do
begin
k:=(lf+rt) shr 1;
if k*k>n then rt:=k
else lf:=k;
end;
writeln('k = ',rt);
end.
Ввод - вывод
N = 139847
k = 374