SICP Exercise 2.94 gcd-poly

Exercise 2.94.  Using div-terms, implement the procedure remainder-terms and use this to define gcd-terms as above. Now write a procedure gcd-poly that computes the polynomial GCD of two polys. (The procedure should signal an error if the two polys are not in the same variable.) Install in the system a generic operation greatest-common-divisor that reduces to gcd-poly for polynomials and to ordinary gcd for ordinary numbers. As a test, try

(define p1 (make-polynomial 'x '((4 1) (3 -1) (2 -2) (1 2))))
(define p2 (make-polynomial 'x '((3 1) (1 -1))))
(greatest-common-divisor p1 p2)


and check your result by hand.

SOLUTION

The implementation is here:


This problem was straightforward.

Comments

Popular posts from this blog

SICP Exercise 3.56 merge streams

SICP Exercise 4.9 do for while until

SICP Exercise 4.14 map as compound vs. primitive type