2019-09-12

LeetCode算法题15:

题目描述

解题思路:sqrt是内置函数,通过该函数可以直接得到一个数的平方根;还有一种思路就是牛顿迭代法,首先确定一个值re,然后不断令re等于re和x/re的平均数,通过不断迭代后,可以得到一个比较精确的平方根值。本题也可以通过二分法来做,不过相对于牛顿法要麻烦一点。

JS代码1

知识点补充:牛顿迭代法一种用于找到实数函数的根的近似值的方法,假设有一个连续的函数,其在x轴上有很多的根(零点),在x轴上取一初始点,则该点对应的函数值为,然后在该点的函数值附近画切线,切线与x轴的交点为。假设,在由切线,x 轴及函数值形成的三角形中,可以求得斜率,化简可得。slope为函数在处的导数,所以有,最后代入的,之后在对应的函数值处取切线,然后再次迭代,一直循环这个过程,直到达到准确的值,这就是牛顿迭代法的求根过程,迭代公式可以写成:。因此求一个平方根问题可以看作是方程求re的问题,令,。所以迭代公式为。

JS代码2

你可能感兴趣的:(2019-09-12)