Sum multiples of 3 and 5: Difference between revisions

Content added Content deleted
(Sum multiples of 3 and 5 in various BASIC dialents)
(Emacs Lisp: Improve examples, replace redundant one with vanilla version)
Line 1,332: Line 1,332:


=={{header|Emacs Lisp}}==
=={{header|Emacs Lisp}}==

===version 1===
Vanilla:
<lang Emacs Lisp>

(defun sum-3-5 (n)
<lang Lisp>(defun sum-3-5 (n)
(apply '+ (mapcar
(let ((sum 0))
'(lambda (x) (if (or (= 0 (% x 3) ) (= 0 (% x 5) ))
x 0) )
(dotimes (x n)
(number-sequence 1 (- n 1)) )))
(when (or (zerop (% x 3)) (zerop (% x 5)))
(setq sum (+ sum x))))
</lang>
sum))</lang>
===version 2===

<lang Emacs Lisp>
{{libheader|seq.el}}
(defun sum-3-5 (n)
<lang Lisp>(defun sum-3-5 (n)
(apply '+ (seq-filter
(apply #'+ (seq-filter
'(lambda (x) (or (= 0 (% x 3) ) (= 0 (% x 5) )))
(number-sequence 1 (- n 1))) ))
(lambda (x) (or (zerop (% x 3) ) (zerop (% x 5))))
(number-sequence 1 (- n 1)))))</lang>
</lang>
<b>Eval:</b>
<lang Emacs Lisp>
(insert (format "%d" (sum-3-5 100) ))
(insert (format "%d" (sum-3-5 1000) ))
</lang>
<b>Output:</b>
<pre>
2318
233168
</pre>


=={{header|Erlang}}==
=={{header|Erlang}}==