更新時間:2022-11-29 10:57:50 來源:動力節點 瀏覽14839次
計算數字的平方非常簡單。但是計算一個數的平方根更有趣一點。讓我們看看我們如何做到這一點。
public static double sqrt(double number);
參數:數字 返回:數字的平方根
number 參數接受double作為輸入,返回類型也是double值。
所以,如果 number = 9 Math.sqrt(9) = 3.0
這是一個演示Math.sqrt()用法的片段
int X = 9;
double R = Math.sqrt(X);
System.out.println("The square root of " + X + " is " + R);
// The square root of 9 is 3.0
就像我們使用 Math.pow 求一個數的平方一樣,我們也可以用它來求一個數的平方根。
但是怎么辦?
記住數字平方根的表示方式: X^{1/2}X1 / 2; 這意味著一個數的平方根是 X 的 ½ 次方。
因此,如果我們將 Math.pow 中的指數值傳遞為0.50 。5個這是KaTeX parse error: Expected 'EOF', got '½' at position 1: ½?,結果數將是平方根。讓我們在下面的代碼片段中嘗試一下。
int X = 9;
double R = Math.pow(X, 0.5);
System.out.println("The square root of " + X + " is " + R);
// The square root of 9 is 3.0
整潔吧?同一個函數用于計算兩個不同的操作。
現在我們已經了解了幾種使用 Java 中的內置函數來求數字平方根的方法,讓我們看看不使用任何此類內置函數的方法。
讓我先提出一個算法,然后我們會一步一步地分解它。
從...開始我 = 1一世=1個, 如果我 * 我 == n一世*一世= =n,則 i 是 n 的平方根,因為 n 是一個完美的平方。
如果我 * 我 > ñ一世*一世>n,這意味著平方根必須介于(i-1, i)(我−1 ,我), 讓我們稱他們為(低高)(低,_ _高)_ _ _.
在范圍內應用二進制搜索(低高)(低,_ _高)_ _ _. 尋找中米_ _的(低高)(低,_ _高)_ _ _:
如果中 * 中 == n米_ _*米_ _= =n, 這意味著我們假設中米_ _是的平方根nn.
如果中 * 中 > n米_ _*米_ _>n,這意味著我們所做的假設是不正確的。這意味著,n 的平方根必須小于 mid,因為任何高于 mid 的值都不能滿足條件中 * 中 == n米_ _*米_ _= =n. 因此,我們將嘗試通過重復步驟 3 來找到 mid 左側的平方根(低,中)(低,_ _我d ) _.
否則,中 * 中 < n米_ _*米_ _
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習