实现sqrt函数
2021-03-02 20:56 legend聪 阅读(177) 评论(0) 编辑 收藏 举报实现这个函数主要用二分法,如果要求四舍五入就设计一个误差。比如0.05,然后不断迭代,最后结果用round输出。如果是忽略小数的话那么可以找右边界,小于mid*mid<x的右边界
class Solution {
static double e=0.05;
public static int mySqrt(double x) {
double left=0;
double right=(double)x+1;
double mid=left+(right-left)/2;
while(Math.abs(x-mid*mid)>e){
mid=left+(right-left)/2;
if(mid*mid<x){
left=mid;
}else{
right=mid;
}
}
return Math.round((float) mid);
}
public static void main(String[] args) {
int m= 99;
System.out.println(mySqrt(m));
System.out.println("he");
}
}