Description

Implement int sqrt(int x).

Compute and return the square root of x.

Example

sqrt(3) = 1

sqrt(4) = 2

sqrt(5) = 2

sqrt(10) = 3

Challenge

O(log(x))

题意:求给定数的平方根,如果用一般的方法,例如二分法之类的,需要考虑一下int型的范围,别溢出。最好的方法时牛顿迭代法。代码如下:

public class Solution {/*** @param x: An integer* @return: The sqrt of x*/public int sqrt(int x) {// write your code here//牛顿迭代法求平方根double p=2.0;double pre=0;while(Math.abs(p-pre)>1e-6){pre=p;p=(p+x/p)/2.0;}return (int)p;}
}

关于牛顿迭代法在平方根上的应用原理,参阅博客: http://www.matrix67.com/blog/archives/361

转载于:https://www.cnblogs.com/phdeblog/p/9097950.html

141. Sqrt(x)【牛顿迭代法求平方根 by java】相关推荐

  1. 牛顿迭代法求平方根原理

    牛顿迭代法可以求解n次方的根,但这里只讨论用它来求平方根. 牛顿迭代法求平方根过程 Java代码实现 /*** 求一个数的平方根* @param number* @return*/public sta ...

  2. 【算法】牛顿迭代法求平方根的原理和误差分析

    前言 在<算法(第四版)>中的P23页,给出了经典的利用牛顿迭代法求平方根的算法,牛顿迭代法在数值计算中应用十分广泛,但是在看书中的代码时,我最困惑的是其中对收敛条件的判断,经过查阅资料和 ...

  3. 经典算法:牛顿迭代法求平方根

    //牛顿迭代法求平方根 1 double mysqrt(double num) 2 { 3 double x = num/2; 4 double y = 0; 5 do{ 6 x = x/2+num/ ...

  4. 牛顿迭代法求平方根倒数

    牛顿迭代法,第二次看了,发现几乎又是从头开始搜集资料,不如整理记录一下,也和大家分享一下: 牛顿迭代法的核心思想是:切线是曲线的线性逼近,通过迭代求切线最后找到函数近似解的过程.具体可以参考下面这个文 ...

  5. Python:牛顿迭代法求平方根

    #69573 牛顿迭代法求平方根[光]-函数复用#69573 牛顿迭代法求平方根描述牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson meth ...

  6. python牛顿迭代法求平方根_Newton迭代法求平方根

    牛顿迭代法求根 (即曲线与x坐标轴交点) : 在曲线的一点P1(a, f(a)), 做切线, 切线与x轴, 相交于 A 点, A点做垂线 与曲线交于 P2(b, f(b)) 点, 在P2点继续做切线, ...

  7. 牛顿方法求平方根c语言,C语言之基本算法11—牛顿迭代法求平方根

    //迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...

  8. 牛顿迭代法-求平方根

    牛顿迭代法 求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了.  例如,我想求根号2等于多少.假如我猜测的结果为4,虽然错的离谱,但 ...

  9. 如何用牛顿迭代法求平方根

    设函数y=f(x)在点x0的某个邻域内有定义,当自变量x在x0处有增量Δx,(x0+Δx)也在该邻域内时,相应地函数取得增量Δy=f(x0+Δx)-f(x0):如果Δy与Δx之比当Δx→0时极限存在, ...

最新文章

  1. 不敢相信,居然用Java写了个“天天酷跑”!
  2. 如何利用OpenCV自带的级联分类器训练程序训练分类器
  3. oracle Hint 使用
  4. 第二阶段团队冲刺10
  5. Pythonseleniumtesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考...
  6. webgl 游戏_如何选择 WebGL 框架和引擎?
  7. 远程查看服务器版本,远程管理控制服务器(服务器远程控制工具)V4.2.2019.5.27 官方版...
  8. Win7 Tortoise SVN安装异常--please install the universal crt first.You can .. windows-update(Kb2999226)
  9. 学python有前途吗-python有前景吗
  10. PHP是迄今为止最好的web平台
  11. Linux shell统计文件数脚本,使用shell脚本巧妙统计文件
  12. js时间戳写入mysql
  13. js生成带log的二维码(qrcodejs)
  14. 车路协同发展挑战与影响解析
  15. ITF条码的外边框如何设置
  16. 数字信号处理(一)时域采样定理
  17. 【Leetcode】347. 前 K 个高频元素
  18. [4G5G专题-4]:RRU 全面了解什么是4G+5G RF静态射频共享?
  19. 2021中国大学生喜爱雇主榜发布;调查显示九成员工正经历“职业倦怠”工作危机 | 美通企业日报...
  20. CodeForces - 1367

热门文章

  1. Android:ListView常见错位之CheckBox错位
  2. Linux常用软件和安装方法,Linux软件安装与卸载常用方法(转)
  3. Java的Arrays.sort()良心总结
  4. php导出mongo日志,导出mongo库到本地
  5. 华为手机楷体字体下载_手机查看3D打印模型图纸,国产软件SView来了
  6. Facebook宕机背后,我们该如何及时发现DNS问题
  7. Serverless 实战 —— Funcraft OSS ROS 进行 CI/CD
  8. html制作表格保存为txt文件,可将HTML表格导出为Excel|csv|txt文件的jQuery插件
  9. mysql 数据库编译安装_mysql 数据库 编译安装(千峰)
  10. shell 死循环if判断_Shell的条件判断