1

我正在尝试编写一个程序来定义不能被 2、3 或 5 整除的所有整数的流。这就是我写的:

(define not-d
   (stream-filter (lambda (x) (not (divisible? x (and 2 3 5))))
                 integers))

我用以下方法测试它:

(define (take n s)  ;; list of first n things from stream s
  (if (= n 0)
      '()
      (cons (stream-car s) (take (- n 1) (stream-cdr s)))))

但是它不起作用......我该如何解决这个问题?

4

1 回答 1

3

这根本行不通:

(not (divisible? x (and 2 3 5)))

试试这个:

(and
 (not (divisible? x 2))
 (not (divisible? x 3))
 (not (divisible? x 5)))
于 2013-03-28T03:05:30.103 回答