In this problem we implement a small arithemetic package for rational numbers. Section 3.3 of the text gives functions which implement a representation of rational numbers and operations for addition, subtraction, multiplication and division as well as relational functions, printing functions etc.
Some problems remain unresolved.
After performing several operations the numerator and denominator of a resulting rational number may have common factors. As additional operations are performed, the numerators and denominators may grow without bound. Another problem is that the representation of a rational number as a two element list is not as efficient as it could be. Perhaps a better representation would be a dotted pair. To implement gcd , you might use the fact that the greatest common divisor of x and y also divides the remainder of x divided by y .