diff options
Diffstat (limited to 'coding-exercises/2/83/install-integer.rkt')
| -rw-r--r-- | coding-exercises/2/83/install-integer.rkt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/coding-exercises/2/83/install-integer.rkt b/coding-exercises/2/83/install-integer.rkt index d2f34fb..6972b71 100644 --- a/coding-exercises/2/83/install-integer.rkt +++ b/coding-exercises/2/83/install-integer.rkt @@ -27,6 +27,11 @@ a (gcd-integer b (remainder a b)))) + (define (reduce-integers n d) + (let ((g (gcd-integer n d))) + (list (/ n g) + (/ d g)))) + ;; methods (put 'add '(integer integer) (lambda (x y) (+ x y))) (put 'neg '(integer) (lambda (x) (- x))) @@ -35,6 +40,7 @@ (put 'div '(integer integer) (lambda (x y) (/ x y))) (put 'greatest-common-divisor '(integer integer) gcd-integer) (put 'raise '(integer) raiseme) + (put 'reduce '(integer integer) reduce-integers) ;; sqrt and trig methods for complex nums (put 'expt '(integer integer) expt) (put 'sqr '(integer) sqr) |
