aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301
diff options
context:
space:
mode:
Diffstat (limited to 'ee1301')
-rw-r--r--ee1301/wk3/lab3/RootBabylonOG.cpp16
-rw-r--r--ee1301/wk3/lab3/gcd.cpp25
2 files changed, 26 insertions, 15 deletions
diff --git a/ee1301/wk3/lab3/RootBabylonOG.cpp b/ee1301/wk3/lab3/RootBabylonOG.cpp
index 5e73234..3abdd36 100644
--- a/ee1301/wk3/lab3/RootBabylonOG.cpp
+++ b/ee1301/wk3/lab3/RootBabylonOG.cpp
@@ -3,7 +3,7 @@
using namespace std;
double gennewGuess(double n, double old_guess) {
- double new_guess = (old_guess+n/old_guess)/2;
+ double new_guess = ((old_guess+n) / old_guess) / 2;
return new_guess;
}
@@ -13,21 +13,21 @@ double BabylonRoot(double n) {
do {
guess = gennewGuess(n,guess);
cout << guess << endl;
- } while ((guess-real)/real>0.01);
+ } while ((guess-real)/real>0.01); //Keep guessing unitl within 1% of the actual square root
return guess;
}
int main () {
- double temp;
+ double n, guess;
cout << "Enter the Number to find square root: ";
- cin >> temp;
- if (temp<=0) {
+ cin >> n;
+ if (n<=0) {
cout << "Please enter a valid input(Positive Integer)." << endl;
return sqrt(-1);
}
cout << "Guessing..." << endl;
- double real=sqrt(temp);
- temp = BabylonRoot(temp);
- cout << "The Final Guess: " << temp << endl
+ double real=sqrt(n);
+ guess = BabylonRoot(n);
+ cout << "The Final Guess: " << guess << endl
<< "Actual Value: " << real << endl;
}
diff --git a/ee1301/wk3/lab3/gcd.cpp b/ee1301/wk3/lab3/gcd.cpp
index 435fd07..e9c1801 100644
--- a/ee1301/wk3/lab3/gcd.cpp
+++ b/ee1301/wk3/lab3/gcd.cpp
@@ -3,7 +3,7 @@
using namespace std;
int GCD(int a, int b) {
- int gcd=0;
+ int gcd=1;
a=abs(a); b=abs(b);
if (a>b) {
//do nothing
@@ -11,15 +11,26 @@ int GCD(int a, int b) {
if (b>a) {
int foo=a; a=b; b=foo;
} else {
- return 1;
+ return -1;
}
}
- gcd=(a/b)+(a%b);
- return gcd;
+ gcd=(a%b);
+ while (gcd!=0) {
+ return GCD(b,gcd);
+ }
+ return b;
+
}
int main () {
int a=0, b=0;
- cout << "Enter two integers: ";
- cin >> a, b;
- cout << GCD(a,b) << endl;
+ char cont;
+ do {
+ cout << "enter two integer values: ";
+ cin >> a >> b;
+ cout << "greatest common divisor is: " << GCD(a,b) << endl;
+ cout << "continue? (y/n): ";
+ cin >> cont;
+ cout << endl;
+ } while (cont!='n');
+
}