求根号2的值(两种方法 java实现)

  • 问题描述

计算根号2的值,保留小数点后10位。

  • 解决方案1

利用二分查找来做,代码如下:

 public static double squareTwo(){
        final double  frequency = 0.00000000001;
        double l = 1.4;
        double h = 1.5;
        while(h - l > frequency){
            double mid = (h + l) / 2.0;
            if(mid * mid > 2)
                h = mid;
            else
                l = mid;
        }
        String s = l + "";
        return Double.parseDouble(s.substring(0,12));
    }
  • 解决方案2

利用牛顿迭代法来做,代码如下:

public static double squareTwo2(){
        final double  frequency = 0.00000000001;
        double result = 1.5d;
        double last = 1.6d;
        while(last - result > frequency){
            last = result;
            result = (result + 2.0 / result) / 2;
        }
        String s = result + "";
        return Double.parseDouble(s.substring(0,12));
    }
展开阅读全文
©️2020 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值