69 X的平方根

2021-09-30 01:31:53 字數 805 閱讀 7309

題目:

實現 int sqrt(int x) 函式。

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

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

示例 1:

輸入: 4

輸出: 2

示例 2:

輸入: 8

輸出: 2

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

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

思路:每次最大限度向x靠攏。

利用二乘的思想,不斷拉近得數與x除以得數之間的距離。

其中迭代公式就是x與res²之間的差。

f(x)=x-res²

res₂=res₁-f(x)/f′(x)

f′(x)=-2res

f(x)/f′(x)=-(x/res-res)/2

res₂=res₁+(x/res₁-res₁)/2=(x/res₁+res₁)/2

**:

class solution(object):

def mysqrt(self, x):

""":type x: int

:rtype: int

"""if x<=1:

return x

res=x//2

while res>x/res:

res=(res+x/res)//2

return res

69 x的平方根

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

69 x的平方根

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

69 x 的平方根

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