首页 > 其他 > 详细

浮点数开根号 二分法+牛顿法

时间:2018-09-03 23:42:26      阅读:254      评论:0      收藏:0      [点我收藏+]
double sqrt_bin(double n){
    if(n < 1){
        n = 1;
    }
    double left = 0;
    double right = n;
    double mid = n / 2;
    while(abs(mid * mid - n) > 0.000001){
        if(mid*mid < n){
            left = mid;
        }
        else{
            right = mid;
        }
        mid = (left + right) / 2;
    }
    return mid;
}


double sqrt_newton(double n){
    if(n < 1){
        n = 1;
    }
    double x0 = n;
    double x1 = x0;
    while(x1 * x1 - n > 0.0000001){
        x1 = 0.5 * (x0 + n / x0);
        x0 = x1;
    }
    return x0;
}

浮点数开根号 二分法+牛顿法

原文:https://www.cnblogs.com/theodoric008/p/9581646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!