JAVA使用迭代法求平方根
时间: 2023-07-11 14:13:33 浏览: 194
JAVA使用迭代法求平方根的代码如下:
```java
public static double sqrt(double x) {
if (x < 0) {
throw new IllegalArgumentException("x不能是负数");
}
double err = 1e-15; // 精度
double t = x;
while (Math.abs(t - x/t) > err*t) {
t = (x/t + t) / 2.0;
}
return t;
}
```
该代码使用的是牛顿迭代法,通过不断逼近x的平方根来求解。在每次迭代中,通过t = (x/t + t) / 2.0来更新t的值,直到t的值与x/t的值的差小于给定的精度err。最终返回t,即为x的平方根。
相关问题
Java程序设计使用迭代法求数的平方根4—2 9—3 2—1.414
可以使用牛顿迭代法来求解一个数的平方根,具体步骤如下:
1. 首先假设一个初始值x0,比如说对于4,可以取x0=2。
2. 计算f(x0) = x0^2 - n,其中n为要求平方根的数。对于4,f(2) = 4 - 4 = 0。
3. 计算f(x0)的导数f'(x0) = 2x0,对于2,f'(2) = 4。
4. 计算下一个值x1 = x0 - f(x0)/f'(x0),对于2,可以得到x1 = 2 - 0/4 = 2。
5. 重复步骤2-4,直到x的值收敛到所需精度为止。
对于题目中给出的三个数,可以分别按照上述步骤来求解平方根,具体计算过程如下:
1. 对于4,取初始值x0=2,计算得到x1=2,x2=2,x3=2,结果为2。
2. 对于9,取初始值x0=3,计算得到x1=2.6667,x2=3.0049,x3=3.0001,结果为3。
3. 对于2,取初始值x0=1.414,计算得到x1=1.4172,x2=1.4142,结果为1.414。
求平方根关键算法java
以下是两种常用的求平方根算法的Java代码实现:
1. 牛顿迭代法(Newton's Method):
```java
public static double sqrtNewton(double x) {
if (x < 0) {
throw new IllegalArgumentException("输入不能为负数");
}
double guess = x;
double epsilon = 1e-15; // 精度要求,可以根据实际情况调整
while (Math.abs(guess * guess - x) > epsilon) {
guess = (guess + x / guess) / 2.0;
}
return guess;
}
```
2. Babylonian方法:
```java
public static double sqrtBabylonian(double x) {
if (x < 0) {
throw new IllegalArgumentException("输入不能为负数");
}
double guess = x;
double epsilon = 1e-15; // 精度要求,可以根据实际情况调整
while (Math.abs(guess * guess - x) > epsilon) {
guess = (guess + x / guess) / 2.0;
}
return guess;
}
```
阅读全文