Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The following method was known to the ancient Greeks for computing square roots.

ID: 3761345 • Letter: T

Question

The following method was known to the ancient Greeks for computing square roots. Given
a value x > 0 and a guess g (for example guess =7) for the square root, a better guess is
(g + x/g) / 2.
Write a recursive helper method public static squareRootGuess(double x, double g). If
g2 is approximately equal to x (i.e |x – g2| < 0.0001), return g, otherwise, return
squareRootGuess with the better guess. Then write a method public static
squareRoot(double x) that uses the helper method.
Example:
x = 10; g =7
squareRootGuess(10, 7)
squareRootGuess(10, (7 + 10/7)/2) = squareRootGuess(10, 4.21428)
squareRootGuess(10, (4.21428 + 10/4.21428)/2) = squareRootGuess(10, 3.29358)
. . .
(continue until |10 – g2| < 0.0001)

Explanation / Answer

public class main1c { public static void main(String[] args){ Scanner keys = new Scanner(System.in); } public static double test(double x, double g) { if (closeEnough(x/g, g)) return g; else return test(g+x/g) } static boolean closeEnough(double a, double b) { return (Math.abs(a - b) < (b * 0.1)); // a is within 1% of b } }