【常见面试算法】二分法开根号

public class 二分法开根号 {
    public static void main(String[] args) {
        System.out.println(find(5));
    }

    public static double find(int n) {
        double l = 1;
        double r = n;
        double mid = (l + r) / 2.0;
        double p = 0.1;

        while (Math.abs(mid * mid - (double) n) > p) {
            if (mid * mid > n) {
                r = mid;
            } else if (mid * mid < n){
                l = mid;
            } else {
                return mid;
            }
            mid = (l + r) / 2.0;
        }
        return mid;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务