0
私はSCHEME機能がセクシーですか? 1つのパラメータnをとり、nがセクシーな素数のペアの場合はtrueを返し、それ以外の場合はfalseを返します。また、SCHEME関数のsexy-primesは、整数nをパラメータとして取り、ペアのリストを返します。その差が6で、より小さい数がn以下である素数。SCHEMEにセクシーなプライムペアのストリームを書きます
セクシーなプライムペアのストリームを定義するにはどうすればよいですか?
(define (is-sexy? n)
(define (is-prime? x)
(define (is-prime?-aux x k)
(cond ((< x 1) #f)
((= x k) #t)
(else
(if (= (remainder x k) 0) #f
(is-prime?-aux x (+ k 1))))))
(cond ((= x 1) #t)
((= x 2) #t)
(else (is-prime?-aux x 2))))
(if (and (is-prime? n)
(or (is-prime? (- n 6)) (is-prime? (+ n 6)))) #t
#f))
(define (sexy-primes n)
(if (= n 0) '()
(if (is-sexy? n) (cons n (sexy-primes (- n 1)))
(sexy-primes (- n 1)))))