牛客网-每日一练

#
# 
# @param x int整型 
# @return int整型
#
class Solution:
    def sqrt(self , x ):
        if x <= 0:
            return 0
        r = 1 
        while True:
            b = r
            r = (r + x/r) / 2
            if (abs(r-b)<1e-6):
                break
        return r
        # write code here
实现函数 int sqrt(int x). 计算并返回x的平方根(向下取整)   此题是一个简单的数学问题 解决方法我在本题用的是公式而不是二分法,公式为牛顿迭代法:     牛客网-每日一练

 

截图来自牛客网解析

我们迭代挺知道判别是Xn与Xn+1的差值的绝对值为1e-6

上一篇:A Mathematical Olympiad Primer Ch2


下一篇:算法提高 概率计算