更新时间:2022-11-29 10:57:50 来源:极悦 浏览13897次
计算数字的平方非常简单。但是计算一个数的平方根更有趣一点。让我们看看我们如何做到这一点。
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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习