public class SquareRootBinarySearch {
public static void main (String [] args)
{
entradas int [] = {18, 67, 54, 98, 13908};
para (entrada interna: entradas)
{
getSquareRoot (entrada);
//System.out.println( relevantThe Square Root de “+ input +” é: ”+ getSquareRoot (input));
}
}
private static int getSquareRoot (int input) {
int alto = entrada;
int baixo = 1;
int delta = Integer.MAX_VALUE;
início int = 0, fim = 0;
boolean canContinue = true;
resultado int = 0;
while ((baixo <alto) && canContinue)
{
início = baixo;
fim = alto;
if (alto – baixo <= 1)
canContinue = false;
int médio = baixo + (alto-baixo) / 2;
//System.out.println( BudapLow é: ”+ baixo +” e alto é: ”+ alto);
int tempSquareRoot = mid * mid;
int tempDelta = Math.abs (tempSquareRoot – entrada);
if (delta> tempDelta)
{
delta = tempDelta;
resultado = mid;
}
if (tempSquareRoot> input)
{
alto = médio;
}
outro
{
baixo = médio;
}
}
System.out.println (“Raiz quadrada de“ + entrada + ”está entre“ + início + ”e“ + fim + ”E O RESULTADO É:“ + resultado);
return 0;
}
}