4.求平方根
问题描述:
实现int sqrt(int n)函数,计算返回n的平方根。
问题示例:
sqrt(3) = 1,sqrt(10) = 3,sqrt(4) = 2,sqrt(5) = 2。
问题分析:
一般遇到解方程的题目,最常用的就是二分法。
代码实现:
class Solution:
def my_Sqrt(self, n):
"""利用二分法实现平方根函数"""
a, m, b = 0, n//2, n
while a <= b:
if m * m > n:
b = m - 1
elif m * m < n:
a = m + 1
else:
return m
m = (a + b) // 2
return m
if __name__ == "__main__":
solution = Solution()
n = int(input("输入一个正整数:"))
print("开根号取整后为:", solution.my_Sqrt(n))
没错,解决类似这种题目的方法有很多种,比如牛顿迭代法等等
详细讲解请参考:https://blog.csdn.net/xusiwei1236/article/details/25657611