2014-11-26 6 views
-1

함수의 xor를 정의하려면 어떻게해야합니까? 여기서 인수의 수는 0에서 n까지입니다. 모든 <???>이 무엇인지스키마에서 xor 정의

(define (xor . vals) 
    (define (inner vals) 
    (cond ((null? vals) <???>) 
      ((null? (cdr vals)) <???>) ;; optional optimisation 
      ((car vals) (not <???>)) 
      (else <???>))) 
    (inner vals)) 

그림 아웃 :

(xor true true true true) -> false 
(xor true false false false true) -> true 

등 ....

+1

약간의 노력을 보여 주어야합니다. 편집 : 또한 Scheme의 프로 시저라고 부릅니다. – leppie

+1

힌트 : xor (2 개의 arg를 취함)의 바이너리 버전을 작성하십시오. 이제 어떻게하면 바이너리 xor로 reduce를 사용하여 변수 arity xor를 만들 수 있는지 생각해보십시오. – turingcomplete

답변

0

여기 골격 솔루션입니다.