-
Notifications
You must be signed in to change notification settings - Fork 19.9k
/
Copy pathSquareRootWithNewtonRaphsonMethod.java
33 lines (28 loc) · 1.2 KB
/
SquareRootWithNewtonRaphsonMethod.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.thealgorithms.maths;
/*
*To learn about the method, visit the link below :
* https://en.wikipedia.org/wiki/Newton%27s_method
*
* To obtain the square root, no built-in functions should be used
*
* The formula to calculate the root is : root = 0.5(x + n/x),
* here, n is the no. whose square root has to be calculated and
* x has to be guessed such that, the calculation should result into
* the square root of n.
* And the root will be obtained when the error < 0.5 or the precision value can also
* be changed according to the user preference.
*/
public final class SquareRootWithNewtonRaphsonMethod {
private SquareRootWithNewtonRaphsonMethod() {
}
public static double squareRoot(int n) {
double x = n; // initially taking a guess that x = n.
double root = 0.5 * (x + n / x); // applying Newton-Raphson Method.
while (Math.abs(root - x) > 0.0000001) { // root - x = error and error < 0.0000001, 0.0000001
// is the precision value taken over here.
x = root; // decreasing the value of x to root, i.e. decreasing the guess.
root = 0.5 * (x + n / x);
}
return root;
}
}