141. Sqrt(x)【牛顿迭代法求平方根 by java】
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】相关推荐
- 牛顿迭代法求平方根原理
牛顿迭代法可以求解n次方的根,但这里只讨论用它来求平方根. 牛顿迭代法求平方根过程 Java代码实现 /*** 求一个数的平方根* @param number* @return*/public sta ...
- 【算法】牛顿迭代法求平方根的原理和误差分析
前言 在<算法(第四版)>中的P23页,给出了经典的利用牛顿迭代法求平方根的算法,牛顿迭代法在数值计算中应用十分广泛,但是在看书中的代码时,我最困惑的是其中对收敛条件的判断,经过查阅资料和 ...
- 经典算法:牛顿迭代法求平方根
//牛顿迭代法求平方根 1 double mysqrt(double num) 2 { 3 double x = num/2; 4 double y = 0; 5 do{ 6 x = x/2+num/ ...
- 牛顿迭代法求平方根倒数
牛顿迭代法,第二次看了,发现几乎又是从头开始搜集资料,不如整理记录一下,也和大家分享一下: 牛顿迭代法的核心思想是:切线是曲线的线性逼近,通过迭代求切线最后找到函数近似解的过程.具体可以参考下面这个文 ...
- Python:牛顿迭代法求平方根
#69573 牛顿迭代法求平方根[光]-函数复用#69573 牛顿迭代法求平方根描述牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson meth ...
- python牛顿迭代法求平方根_Newton迭代法求平方根
牛顿迭代法求根 (即曲线与x坐标轴交点) : 在曲线的一点P1(a, f(a)), 做切线, 切线与x轴, 相交于 A 点, A点做垂线 与曲线交于 P2(b, f(b)) 点, 在P2点继续做切线, ...
- 牛顿方法求平方根c语言,C语言之基本算法11—牛顿迭代法求平方根
//迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...
- 牛顿迭代法-求平方根
牛顿迭代法 求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了. 例如,我想求根号2等于多少.假如我猜测的结果为4,虽然错的离谱,但 ...
- 如何用牛顿迭代法求平方根
设函数y=f(x)在点x0的某个邻域内有定义,当自变量x在x0处有增量Δx,(x0+Δx)也在该邻域内时,相应地函数取得增量Δy=f(x0+Δx)-f(x0):如果Δy与Δx之比当Δx→0时极限存在, ...
最新文章
- 不敢相信,居然用Java写了个“天天酷跑”!
- 如何利用OpenCV自带的级联分类器训练程序训练分类器
- oracle Hint 使用
- 第二阶段团队冲刺10
- Pythonseleniumtesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考...
- webgl 游戏_如何选择 WebGL 框架和引擎?
- 远程查看服务器版本,远程管理控制服务器(服务器远程控制工具)V4.2.2019.5.27 官方版...
- Win7 Tortoise SVN安装异常--please install the universal crt first.You can .. windows-update(Kb2999226)
- 学python有前途吗-python有前景吗
- PHP是迄今为止最好的web平台
- Linux shell统计文件数脚本,使用shell脚本巧妙统计文件
- js时间戳写入mysql
- js生成带log的二维码(qrcodejs)
- 车路协同发展挑战与影响解析
- ITF条码的外边框如何设置
- 数字信号处理(一)时域采样定理
- 【Leetcode】347. 前 K 个高频元素
- [4G5G专题-4]:RRU 全面了解什么是4G+5G RF静态射频共享?
- 2021中国大学生喜爱雇主榜发布;调查显示九成员工正经历“职业倦怠”工作危机 | 美通企业日报...
- CodeForces - 1367
热门文章
- Android:ListView常见错位之CheckBox错位
- Linux常用软件和安装方法,Linux软件安装与卸载常用方法(转)
- Java的Arrays.sort()良心总结
- php导出mongo日志,导出mongo库到本地
- 华为手机楷体字体下载_手机查看3D打印模型图纸,国产软件SView来了
- Facebook宕机背后,我们该如何及时发现DNS问题
- Serverless 实战 —— Funcraft OSS ROS 进行 CI/CD
- html制作表格保存为txt文件,可将HTML表格导出为Excel|csv|txt文件的jQuery插件
- mysql 数据库编译安装_mysql 数据库 编译安装(千峰)
- shell 死循环if判断_Shell的条件判断