Я пытаюсь решить проблему Project Euler в Clojure, используя рекурсию. Ниже приводится постановка задачи:Решение проекта Euler 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)