From 101d08ae2492110e06b9c33586488e9e0c20e0ed Mon Sep 17 00:00:00 2001 From: Saumya <76432998+SaumyaBhushan@users.noreply.github.com> Date: Mon, 31 Jan 2022 00:19:32 +0530 Subject: [PATCH] Add Square Root by Babylonian Method (#2883) --- .../maths/SquareRootWithBabylonianMethod.java | 25 ++++++++++++++++++ .../SquareRootwithBabylonianMethodTest.java | 26 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/main/java/com/thealgorithms/maths/SquareRootWithBabylonianMethod.java create mode 100644 src/test/java/com/thealgorithms/maths/SquareRootwithBabylonianMethodTest.java diff --git a/src/main/java/com/thealgorithms/maths/SquareRootWithBabylonianMethod.java b/src/main/java/com/thealgorithms/maths/SquareRootWithBabylonianMethod.java new file mode 100644 index 00000000..306bb123 --- /dev/null +++ b/src/main/java/com/thealgorithms/maths/SquareRootWithBabylonianMethod.java @@ -0,0 +1,25 @@ +package com.thealgorithms.maths; + +import java.util.Scanner; + + +public class SquareRootWithBabylonianMethod { + /** + * get the value, return the square root + * + * @param num contains elements + * @return the square root of num + */ + public static float square_Root(float num) + { + float a = num; + float b = 1; + double e = 0.000001; + while (a - b > e) { + a = (a + b) / 2; + b = num / a; + } + return a; + } + +} diff --git a/src/test/java/com/thealgorithms/maths/SquareRootwithBabylonianMethodTest.java b/src/test/java/com/thealgorithms/maths/SquareRootwithBabylonianMethodTest.java new file mode 100644 index 00000000..e5a1c27b --- /dev/null +++ b/src/test/java/com/thealgorithms/maths/SquareRootwithBabylonianMethodTest.java @@ -0,0 +1,26 @@ +package com.thealgorithms.maths; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class SquareRootwithBabylonianMethodTest { + @Test + void testfor4(){ + Assertions.assertEquals(2,SquareRootWithBabylonianMethod.square_Root(4)); + } + + @Test + void testfor1(){ + Assertions.assertEquals(1,SquareRootWithBabylonianMethod.square_Root(1)); + } + + @Test + void testfor2(){ + Assertions.assertEquals(1.4142135381698608,SquareRootWithBabylonianMethod.square_Root(2)); + } + + @Test + void testfor625(){ + Assertions.assertEquals(25,SquareRootWithBabylonianMethod.square_Root(625)); + } +}