欢迎光临散文网 会员登陆 & 注册

Java实现牛顿迭代法求平方根

2020-02-18 21:15 作者:kands-code  | 我要投稿

突然发现牛顿迭代法求解求根好快啊,好方便啊(好吧,我承认我只会这一种解方程的方式)


附上我试着写的求根代码,求方程涉及大量判断,代码就不贴了,大佬就看着玩一下就行了,别吐槽,我知道这技术含量很低,真的,别喷我了。

import java.util.Scanner;

public class Hello

{

        final static double esp = 0.000005;

        

        public static double sol(double x, double n) {

                x = x / 2.0 + n / (2.0 * x);

                return x;

        }

        

        public static double root(double n) {

                double x = n/2.0;

                while (true) {

                        if ( Math.abs(n - x * x) < esp)

                                return x;

                        else x = sol(x, n);

                    }

        }

        

        public static void main(String[] args) {

                double  x;

                Scanner s = new Scanner(System.in);

                x = s.nextDouble();

                System.out.println("result is " + root(x));

                System.out.println("test "+ (root(x) * root(x)));

        }

}


Java实现牛顿迭代法求平方根的评论 (共 条)

分享到微博请遵守国家法律