From 7a73162607544204032aa66cce755daf21edebda Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Tue, 24 May 2022 11:18:46 -0500 Subject: Graduate Signed-off-by: Matt Strapp --- ee1301/wk3/lab3/RootBabylonOG.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ee1301/wk3/lab3/RootBabylonOG.cpp (limited to 'ee1301/wk3/lab3/RootBabylonOG.cpp') diff --git a/ee1301/wk3/lab3/RootBabylonOG.cpp b/ee1301/wk3/lab3/RootBabylonOG.cpp new file mode 100644 index 0000000..530a1bf --- /dev/null +++ b/ee1301/wk3/lab3/RootBabylonOG.cpp @@ -0,0 +1,34 @@ +#include +#include +using namespace std; + +double gennewGuess(double n, double old_guess) { + double new_guess = ( old_guess + ( n / old_guess ) ) / 2; + return new_guess; + } + +double BabylonRoot(double n) { + double real, guess=1; //Initial guess is set to 1 + real=sqrt(n); + do { + guess = gennewGuess(n,guess); + cout << guess << endl; + } while (abs(guess-real)/real>0.01); //Keep guessing unitl within 1% of the actual square root + return guess; +} + +int main () { + double n, guess; + cout << "Enter the Number to find square root: "; + cin >> n; + if (n<=0) { + cout << "Please enter a valid input(Positive Integer)." << endl; + return 2; + } + cout << "Guessing..." << endl; + double real=sqrt(n); + guess = BabylonRoot(n); + cout << "The Final Guess: " << guess << endl + << "Actual Value: " << real << endl; + return 0; +} \ No newline at end of file -- cgit v1.2.3