爽了今天又刷了几题开根
挺简单的是吧
那今天就给你们展示一下怎么用二分的方法把sqrt函数写出来:
二分查找是一种在已排序的数组中查找特定元素的算法。对于求平方根的问题,可以将其转化为求某个数的平方等于给定值的问题。假设要求一个数x的平方根,可以通过不断地猜测和调整答案来逼近正确答案。
算法的思路如下:
-
定义搜索的边界,设左边界为0,右边界为x。
-
当左边界小于等于右边界时,进行二分搜索。
-
计算中间值mid,将mid的平方与x进行比较。
-
如果mid的平方等于x,那么mid就是所求的平方根,直接返回mid。
-
如果mid的平方大于x,说明mid过大,将右边界更新为mid-1。
-
如果mid的平方小于x,说明mid过小,将左边界更新为mid+1。
-
不断地进行二分搜索,直到找到满足条件的平方根。
爽了,下面是代码:
//二分手写sqrt函数
double my_sqrt(double value) {
double eps = 1e-9;
double left = 0, right = value;