double sqaure_root_of(double value)
{
double lo = 1.0;
double hi = value;
while( hi - lo > 0.00001)
{
double mid = lo + (hi - lo) / 2 ;
if( mid * mid - value > 0.00001)
{
hi = mid;
}
else {
lo = mid;
}
}
return lo;
}
OR
float squareRoot(float n)
{
float x = n;
float y = 1;
float e = 0.000001; /* e decides the accuracy level*/
while(x - y > e)
{
x = (x + y)/2;
y = n/x;
}
return x;
}