二分查詢實現平方根,誤差是小數點後6位

2021-09-24 21:25:00 字數 539 閱讀 7379

二分查詢:對乙個有序的資料集合,查詢的思想類似分治思想,每次通過跟區間的中間元素對比,將待查詢的區間縮小為之前的一半,直到找到要查詢的元素,或者區間縮小為0。

使用二分查詢實現平方根函式,要求精確到小數點後6位

使用逐次逼近的方法,比如對6求根號,第一次取mid = 3,33 = 9 > 6,那麼上限high = 3,第二次取1.5,1.51.5 = 2.25 < 6,那麼更新下限 low = 1.5,接著mid = low + (high - low) / 2.0,然後接著更新上限或下限,直到誤差在10^(-6)之內,就是得到的值。

/**

* 使用二分查詢實現平方根函式,要求精確到小數點後6位

*/ public float sqrt_search(float n)else if(math.abs(n) >= -1e-6 && math.abs(n) <= 1e-6)elseelse if((tmp -n) < -1e-6)else}}

return mid;

}

x 的平方根 二分查詢

實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。二分查詢法應用於搜...

求x 的平方根 二分查詢

題目 實現 int sqrt int x 函式。實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。思路 因為x是非負整數,那麼當x是0的時候平方根為0,x為1時平方根為1,只有當x大於1時才需要計算因...

leetcode x的平方根(二分查詢,牛頓)

題目 實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。一刷 這類問題從計算機的角度來看,就是猜答案。二分查詢 class solution def mysqrt self,x int int l,r...