面试题-求一个数的平方根

double squrt(int n)
{
    double mid =(double (n ))/ 2;
    double l = 0.0, r = 1.0;
    while (fabs((mid*mid - (double)n)) > 0.000001)
    {

        if ((mid*mid - (double)n) > 0.000001)
        {
            r = mid;
            mid = l + (r - l) /2;
        }

        else
        {

            l = mid;
            mid = l + (r - l) / 2;
        }

    }
    return mid;

}

还要注意判断是否非法,返回应该是两个值 一个正一个负

点赞