我的手术有点问题。这个过程采用列表列表,虽然他的长度更大,然后1应用一个程序减去采取2个列表并做差异。我的结果与集合的子集的问题。 我需要的例子:
ARGS =( '(1)'(1)'(3))
长度!= 1 - >过程(if(null?(减去'(1)'(1))))
- >递归(sub(cdr args))
args =('(1)'(3))
长度!= 1 - >过程(if(null?(减去'(1)'(3)))) -
#f end。
但是我的程序我不知道什么然后返回#t ...
(define sub
(lambda args
(if(= (length args) 1) #t
(if(null? ( minus (list-ref args 0) (list-ref args 1)))
(sub (cdr args))
#f))))
修正:)
(define subsethood
(lambda args
(sub args)
))
(define (sub args)
(if(= (length args) 1) #t
(if(null? ( minus (list-ref args 0) (list-ref args 1)))
(sub (cdr args))
#f)))
答案 0 :(得分:0)
从@OndrPem编辑,只是在正确的位置。
(define subsethood
(lambda args
(sub args)
))
(define (sub args)
(if(= (length args) 1) #t
(if(null? ( minus (list-ref args 0) (list-ref args 1)))
(sub (cdr args))
#f)))