0
나는 모든 양의 정수보다 작거나 200 동일하게 요약 함수를 작성하기 위해 노력하고 있습니다 오전 6 배수, 7잘못된 재귀 함수는 특정 숫자의 배수 합 양의 정수를 추가하는
(defun sumFunction(current sum)
(if (/= current 200)
(if ((eq (mod current 6) 0) or (eq (mod current 7) 0))
(setf sum (+ sum current))
(sumFunction (+ current 1) sum)
)
(sumFunction ((+ current 1) sum)
)
)
그것은 나에게주고 다음과 같은 오류 :
이 재귀 적 (라고오류 처리기 : INVALID-기능 NIL IF "가" 는 "~ S는 무효이며 내가 가지고하면 다음과 같다 기능. " (EQ (MOD CURRENT 3) 0))
나는 왜 오류가 있는지 잘 모르겠습니다.
로직을 따르면 필요한 결과를 반환해야합니다.
도움을 주시면 감사하겠습니다. 감사합니다
고맙습니다. 지금은 문제가 있습니다. 이것은 대단히 도움이되었습니다! – user1661211
Nit pickers corner : 숫자 값을 비교하기 위해'eq' 대신'eql'을 사용하십시오. 또는이 경우'(eq (mod current 6) 0)'대신'(zerop (mod current 6))'와 같이'zerop'을 사용하십시오. – Dirk