1: /** @file gcd.cpp
2: Finds the greatest common divisor (gcd) of two positive integers.
3: */
5: #include <iostream>
6: using namespace std;
8: #include "utilities.h"
9: using Scobey::Pause;
10: using Scobey::ReadInt;
11: using Scobey::userSaysYes;
13: int gcd
14: (
15: int a, //in
16: int b //in
17: )
18: /**<
19: Compute the gcd of two positive integers.
20: @return The gcd of a and b.
21: @param a One of the two integers whose gcd is sought.
22: @param b One of the two integers whose gcd is sought.
23: @pre Both a and b have been initialized with nonnegative integer
24: values, and at least one of a or b is strictly positive.
25: @post No other side effects.
26: */
27: {
28: if (b == 0)
29: return a;
30: else
31: return gcd(b, a%b);
32: }
34: int main()
35: {
36: cout << "\nThis program finds the greatest common divisor "
37: "(gcd) of two positive integers. \n";
38: Pause();
40: do
41: {
42: int first, second;
43: ReadInt("Enter first integer: ", first);
44: ReadInt("Enter second integer: ", second);
45: cout << "gcd(" << first << ", " << second << ") = "
46: << gcd(first, second) << "\n\n";
47: }
48: while (userSaysYes("Do it again?"));
49: }