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 に答える