美文网首页
P8-x的平方根-牛顿迭代

P8-x的平方根-牛顿迭代

作者: YonchanLew | 来源:发表于2021-05-09 22:05 被阅读0次
//x的平方根
/*
 * 在不使用sqrt(x)的情况下,得到x的平方根的整数部分
 * */
public class P8 {

    public static void main(String[] args) {
        System.out.println(newton(12));
    }

    //牛顿迭代
    /*
     * 跟微积分有关, y = x平方,是一个y轴对称的二次函数
     * y/x = x,回想一下P3中12的(2*6) (3*4) (4*3) (6*2)
     * 关于 (根号12 * 根号12)对称,y/x=根号12,x=根号12
     * 并且前后两个数的平均值会比前后两个数更接近结果
     * 如 2的平方=4,6的平方=36,它们的平均值4的平方=16,更接近12,
     * 即 y/x 和 x 的平均值会更接近结果 根号y即x  (y/x = x)
     *
     * */
    private static int newton(int y) {
        if(y == 0){
            return 0;
        }
        return (int) sqrt(y, y);        //第一个数是什么没有关系,正整数就可以,影响的是递归次数,会不断的找均值最终趋向x
    }

    //
    public static double sqrt(double x, int y) {
        double res = (x + y / x) / 2;
        if (res == x) {
            return x;       //直到找到确切的根号y,即x
        } else {
            return sqrt(res, y);        //不停找均值
        }
    }

}

相关文章

  • P8-x的平方根-牛顿迭代

  • 求平方根算法-牛顿迭代法

    tag 牛顿迭代法 计算平方根 算法 只有一个公式,假设求的是n的平方根,k为最终结果k = (k + x ...

  • 牛顿迭代法

    如何用牛顿迭代法求一个数的平方根(立方根)   对于  对于该方程的求解,可以用牛顿迭代法求近似解   设r是f(...

  • 数据结构与算法:python语言描述 裘宗燕 Day1

    1.设法证明求平方根的牛顿迭代法一定收敛。 数解思路: 求得c=(n-a/n)/2 可知,c是无限趋近于平方根的点...

  • 2018-12-26 牛顿法求解平方根

    用牛顿法求平方根

  • 牛顿迭代法求平方根

    牛顿迭代法的作用是使用迭代法来求解函数方程的根,简单的说就是不断地求取切线的过程.对于形如f(x)=0的方程,首先...

  • 平方根的高效求解

    这是一个牛顿法求解平方根的算法: 这个算法不是最精确的,但却相当高效,效率是库函数sqrt的4倍。两次迭代就能达到...

  • 典型静态方法

    计算一个整数的绝对值 判断一个数是否是素数 计算平方根(牛顿迭代法:Xn+1=(Xn +n/Xn)/2) 计算调和...

  • 牛顿迭代

    牛顿迭代:例题为求平方根:若x*x=n,求x;设f(x)=x*x-n;画图可得;当xn这点做切线,切向处与x轴相交...

  • 用牛顿迭代法求平方根

    欲求 a 的平方根, 首先要随便猜测一个值, 在这里我们其值 X₁ = a / 2 作为其平方根, 然后根据下...

网友评论

      本文标题:P8-x的平方根-牛顿迭代

      本文链接:https://www.haomeiwen.com/subject/eeehdltx.html