diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2023-05-12 09:15:59 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2023-05-12 09:15:59 +0200 |
| commit | ff68a95c6cac90d511290265b2e6c1dde1c0278a (patch) | |
| tree | 36f5f83fa0bcbebf62fb231132860d41f8b5cfc1 /coding-exercises/2/83/install-integer.rkt | |
| parent | 2c8bbf5955c687b8e1528e8c637d3ae18960797f (diff) | |
finished chapter 2 finally
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) |
