600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Java求指定精度的开根号运算

Java求指定精度的开根号运算

时间:2024-05-19 17:42:59

相关推荐

Java求指定精度的开根号运算

原理是二分法不断迭代:

取max为指定值target,min为1,精度要求m;取min和max的中点mid,当midmid>target,把max设定为mid;当midmid<target,把min设定为mid。然后max和min求出新的中间 newMin。

结果就在mid和newMid之间,并不断逼近最终结果,当newMid-mid的绝对值小于m时,结果即为所求

【代码】

package practice;public class Sqrt {public double method(double target, double m) {double min,max,mid,newMid;min = 1;max = target;mid = (min+max) / 2;do {if (mid*mid<target) {min = mid;} else {max = mid;}newMid = mid;mid = (max+min)/2;} while (abs(mid,newMid)>m);return mid;}public double abs(double a, double b) {if (a>b) return a-b;else return b-a;}public static void main(String[] args) {System.out.println(new Sqrt().method(20,0.0001));System.out.println(Math.sqrt(20));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。