Skip to content

2.87 关于多项式=zero?函数 #23

@dejavudwh

Description

@dejavudwh
(define (install-polynomial-package) 
  ;; ... 
  (put '=zero? 'polynomial 
    (lambda(poly) 
      (or (empty-termlist? (term-list poly))
          (= 0 (first-term (coeff (term-list poly)))))))
  'done)

应该不能只判断最高项的系数,而且如果想获得更好的抽象能力的话使用=zero?代替= 0应该会更好,(coeff (term-list poly))应该也有错

下面是我自己写的

(define (install-polynomial-package) 
...
 (define (=zero? poly) 
   (define (zero-terms? termlist) 
     (if (empty-termlist? termlist)
         true 
         (and (=zero? (coeff (first-term termlist))) 
              (zero-terms? (rest-terms termlist))))) 
   (zero-terms? (term-list poly))) 

(put '=zero '(polynomial) =zero?)
...
)

2.87----------

如果有错的话,欢迎大家纠正

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions