summaryrefslogtreecommitdiff
path: root/Q3a.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Q3a.cpp')
-rw-r--r--Q3a.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/Q3a.cpp b/Q3a.cpp
new file mode 100644
index 0000000..cbe9023
--- /dev/null
+++ b/Q3a.cpp
@@ -0,0 +1,36 @@
+
+#include <iostream>
+
+using namespace std;
+
+int gcd(int m, int n);
+
+int gcd(int m, int n)
+{
+ if (m <= 0 || n <= 0)
+ return 0;
+
+ if (m % n == 0)
+ return n;
+ else
+ return gcd(n, m%n);
+}
+
+int main(int argc, const char *argv[])
+{
+ int m, n;
+ int result;
+ cout << "Enter 2 numbers to calculate the greatest common divisor (0 to quit)" << endl;
+ do {
+ cout << ">> ";
+ cin >> m >> n;
+ if (m <= 0 || n <= 0) {
+ cout << "Please input positive numbers (0 to quit)" << endl;
+ } else {
+ result = gcd(m, n);
+ cout << "gcd(" << m << ", " << n << ") = " << result << endl;
+ }
+ } while (m != 0 || n != 0);
+
+ return 0;
+}