大佬教程收集整理的这篇文章主要介绍了X的平方根的golang实现,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
首先遇到这种题目肯定要想到使用内置得api来解答:
@H_404_62@其次我们可以使用牛顿法求平方根:牛顿法:(以本题为例子)
的解
令f(X)=x2-n,相当于求解f(X)=0的解,如上图所示。
首先取x0,如果x0不是解,做一个经过(x0,f(x0))这个点的切线,与x轴的交点为x1。
同样的道理,如果x1不是解,做一个经过(x1,f(x1))这个点的切线,与x轴的交点为x2。
以此类推。
一是直接计算f(xi)的值判断是否为0,二是判断前后两个解xi和xi-1是否无限接近。
经过(xi,f(xi))这个点的切线方程为f(X) = f(xi) + f’(xi)(x - xi),其中f‘(X)为f(X)的导数,本题中为2x。令切线方程等于0,即可求出xi+1=xi - f(xi) / f‘(xi)。
继续化简,xi+1=xi - (xi2 - n) / (2xi) = xi - xi / 2 + n / (2xi) = xi / 2 + n / 2xi = (xi + n/xi) / 2。
迭代公式就已经出来了
那么代码:
以上是大佬教程为你收集整理的X的平方根的golang实现全部内容,希望文章能够帮你解决X的平方根的golang实现所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。