From 175721a63b426355274fa9e8063f762020ab8362 Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Thu, 30 Jan 2020 16:55:04 -0600 Subject: R E A R R A N G E --- OLD/ee1301/wk3/lab3/RootBabylonOG.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 OLD/ee1301/wk3/lab3/RootBabylonOG.cpp (limited to 'OLD/ee1301/wk3/lab3/RootBabylonOG.cpp') diff --git a/OLD/ee1301/wk3/lab3/RootBabylonOG.cpp b/OLD/ee1301/wk3/lab3/RootBabylonOG.cpp new file mode 100644 index 0000000..530a1bf --- /dev/null +++ b/OLD/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