专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 告诉你Java怎么开根号

告诉你Java怎么开根号

更新时间:2022-11-29 10:57:50 来源:星辉 浏览13376次

计算数字的平方非常简单。但是计算一个数的平方根更有趣一点。让我们看看我们如何做到这一点。

1. 使用Math.sqrt()

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

2. 使用Math.pow()

就像我们使用 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

整洁吧?同一个函数用于计算两个不同的操作。

3.不使用任何内置功能

现在我们已经了解了几种使用 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米_ _*米_ _

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>