首页 > 代码库 > Sqrt(x)
Sqrt(x)
题目
Implement
int sqrt(int x)
.Compute and return the square root of x.
方法一
使用二分查找,注意int的边界问题,使用除法。
public int sqrt(int x) { if (x <= 1) { return x; } int start = 0; int end = x; while (start <= end) { int median = start + (end - start) / 2; int temp = x / median; if (temp == median) { return median; } else if(temp < median) { end = median - 1; } else { start = median + 1; } } return end; }
方法二
使用牛顿迭代法。public int sqrt(int x) { double pre; double cur = 1; do { pre = cur; cur = (pre + x /pre) / 2.0; }while(Math.abs(cur - pre) > 0.00000001); return (int) cur; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。