raíz cuadrada en Java usando búsqueda binaria
public class SquareRoot {
static void square_root(int n){
int start = 0;
int end = n;
double root = 0.0;
while (start <= end){
int mid = start + (end-start)/2;
if (mid*mid == n) {
root = mid;
System.out.println(mid);
System.exit(0);
}
if (mid*mid > n) end = mid-1;
else start = mid+1;
}
double increment = 0.1;
for (int i = 0; i <=3 ; i++) {
while(root*root <=n){
root+=increment;
}
root-=increment;
increment/=10;
}
System.out.printf("%.3f", root);
}
public static void main(String[] args) {
square_root(144);
}
}
Arrogant Angelfish