您的位置:首页 > 其它

Sqrt(x)

2015-10-18 18:07 471 查看
实现取平方根的方法

输入int型,返回int型

使用二分法查找,慢慢逼近结果;注意防止溢出,直接用乘法的结果去比较

package com.rust.cal;

public class Sqrtx {
/**
* 二分法查找
* @param x-目标值
* @return x的int型平方根
*/
public static int mySqrt(int x) {
double diff = 0.000001f;
double start = 0;
double end = x;
double mid;
while(end - start > diff){
mid = (end + start)/2;
if (mid * mid == x) {
return (int) mid;
}
if (mid*mid > x) {
end = mid;
} else{
start = mid;
}
}
return (int) end;
}
public static void main(String args[]){
System.out.println(mySqrt(2147483647));
System.out.println(mySqrt(1));
System.out.println(mySqrt(0));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: