我想解決項目歐拉問題在Clojure使用遞歸。以下是問題陳述:解決項目歐拉1
如果我們在下面列出10是3或 5的倍數的所有自然數,我們得到了3,5,6和9這倍數的總和爲23
找到3或5的所有倍數低於1000
總和不過,下面的代碼似乎給出錯誤的答案。我究竟做錯了什麼?
(defn m?
[x]
(or (= (rem x 3)) (= (rem x 5))))
(defn sum-m
[limit sum]
(if (= limit 0)
sum
(recur (dec limit)
(if (m? limit)
(+ sum limit)
sum))))
(sum-m (dec 1000) 0)