SICP를 읽었을 때 문제가 발생했습니다. 제 1 장에는 카운팅 변경이라는 예제가 있습니다. 주어진 프로그램을 변경하기위한 가능한 방법 수를 계산하기 위해 프로그램에 프로그램을 작성해야합니다. 번호 반 달러, 분기, 십센트, nickles 및 동전을 주어진. 책은 프로그램의 대체 모델을 보여 주며 중첩 된 것으로 변경하려고 시도했지만 실패했습니다. 누구든지 저에게 호의를 줄 수 있습니까? 다음카운트 변경 SICP
(define (count_change total_amount)
(define (denomination kinds_of_coins)
(cond ((= kinds_of_coins 5) 50)
((= kinds_of_coins 4) 25)
((= kinds_of_coins 3) 10)
((= kinds_of_coins 2) 5)
((= kinds_of_coins 1) 1)))
(define (cc amount kinds_of_coins)
(cond (= amount 0) 1)
((or (< amount 0) (= kinds_of_coins 0)) 0)
(else (+ (cc amount (- kinds_of_coins 1))
(cc (- amount (denomination kinds_of_coins)) kinds_of_coins))))
(cc total_amount 5))
실행 결과이다
는;Ill-formed clause: 1
'(cond (= amount 0) 1)'은 유효한'cond'가 아닙니다. ('denomination'에 올바른 구문이 있습니다.) – molbdnilo