Task

The objective is to write a function that finds the sum of all positive multiples of 3 or 5 below n.

Show output for n = 1000.

This is is the same as Project Euler problem 1.

Extra credit: do this efficiently for n = 1e20 or higher.




(defun sum-3-5 (n)
  (let ((sum 0))
    (dotimes (x n)
      (when (or (zerop (% x 3)) (zerop (% x 5)))
        (setq sum (+ sum x))))
    sum))