leetcode69 x 的平方根

2021-09-26 14:40:07 字數 1103 閱讀 4433

實現 int sqrt(int x) 函式。

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

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

示例 1:

輸入: 4

輸出: 2

示例 2:

輸入: 8

輸出: 2

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

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

:如只需要解本題,**如下:

class solution 

return (int)x0;}}

這裡我做了一些擴充套件,返回小數點後十位的平方根,有需要請自改。

牛頓迭代法中,首先給定乙個初始值x0,然後,通過這個初始值作函式的切線,與y=0交於一點,橫座標為x1, 在通過點(x1,f(x1))作函式的切線,與y=0交於點(橫座標為x2),這樣一直下去,得到xn(若把xn代入方程得到的值與函式實際的值小於某乙個很小的閾值,則我們認為xn就是函式的解)

故要求解sqrt(x),即求解sqrt(t)(t=x), 即求函式 f(x)=x2−t=0的解,我們給初始解賦乙個初始值x0, 那麼我們在點(x0,f(x0))處對曲線作切線, 得到如下方程y−f(x0)=f(x0)′(x−x0),令y=0, 解得x=x0/2+t/(2x0), 則迭代的解x1=x0/2+t/(2x0),像這樣依次迭代xn=xn−1/2+t/(2xn−1), 若f(xn)很接近於0(與0的差絕對值小於某個閾值),這迭代終止,xn即為函式的解。

static double mysqrt(int x)

decimalformat df = new decimalformat("#.###########");

return double.parsedouble(df.format(x0));

}

LeetCode 69 x 的平方根

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

Leetcode 69 x 的平方根

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

leetcode69x 的平方根

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