LeetCode 069 求平方根

2021-08-21 21:39:37 字數 861 閱讀 9611

實現int sqrt(int x)函式。

計算並返回 x 的平方根,其中 x 是非負整數。

由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。

示例 1:

輸入: 4

輸出: 2

示例 2:

輸入: 8

輸出: 2

說明: 8 的平方根是 2.82842...,

由於返回型別是整數,小數部分將被捨去。

牛頓迭代法求解,原理解析:牛頓開方法的演算法及其原理 答案

class solution 

return floor(t);}}

};

或者牛頓迭代法另一版**如下:

class solution 

return int (a);

}};

也可以用二分查詢法思路求解,思路如下:

1.猜測目標值x的平方根為當前子串行的中點k,求k的平方和x的大小是否相等。

2.如果猜對了,直接返回;

3.若猜的小於或等於目標值,說明此時k可用,則記錄當前中點k,在中點的右側繼續猜測;

4.若猜的大於目標值,說明此時k不可用,則在中點的左側繼續猜。

class solution 

int mysqrt(int x)

if(x == 1)

int l = 1, r = x;

int ans = 0;

while(l <= r)else

}return ans;

}};

求平方根函式

加一點注釋 unsigned short work unsigned int n 要進行開平方運算的物件 unsigned int ans 0 開平方運算的結果 unsigned int square 0 記錄中間產生的平方值 unsigned short r 0 程式最終的返回結果 for int...

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 利用二分法實現平方根...

Leetcode 69 Sqrt x 求平方根

計算並返回x的平方根,其中x保證為非負整數。由於返回型別是整數,因此僅返回結果的整數部分。例項 輸入 8 輸出 2 這是二分查詢的變式。x的平方根範圍是 0,x 在這個範圍內的任何乙個數字mi,都可以將 lo,hi 分為三部分 lo,mi mi mi,hi 1 如果mi mi x 返回mi 2 如果...