0
我想寫功能,總結小於或等於 200所有正整數且倍數和7口齒不清內國防部功能無效遞歸添加一定數目的倍數和正整數的6
我有如下:
(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)
)
)
這是給我下面的錯誤:
遞歸(被稱爲錯誤處理程序:無效功能NIL IF「」 「〜S是作爲無效功能「。 (EQ(MOD CURRENT 3)0))
我不確定爲什麼會有任何錯誤。
如果我遵循邏輯,它應該返回我需要的結果。
任何幫助非常感謝! 感謝
謝謝,我現在看到了我的問題。這非常有幫助! – user1661211
Nit挑選角:使用'eql'而不是'eq'來比較數值。或者,在這種情況下,使用'zerop'作爲'(zerop(mod current 6))'而不是'(eq(mod current 6)0)'。 – Dirk