Sum multiples of 3 and 5: Difference between revisions
Content added Content deleted
(Undo revision 296828 by Rosettabrowser (talk)) |
(Fixed Emacs Lisp) |
||
Line 1,018: | Line 1,018: | ||
=={{header|Emacs Lisp}}== |
=={{header|Emacs Lisp}}== |
||
{{incorrect|Emacs Lisp|output should be 2318}} |
|||
===version 1=== |
===version 1=== |
||
<lang Emacs Lisp> |
<lang Emacs Lisp> |
||
(defun sum-3-5 ( |
(defun sum-3-5 (n) |
||
(apply '+ (mapcar |
(apply '+ (mapcar |
||
'(lambda (x) (if (or (= 0 (% x 3) ) (= 0 (% x 5) )) |
'(lambda (x) (if (or (= 0 (% x 3) ) (= 0 (% x 5) )) |
||
x 0) ) |
x 0) ) |
||
(number-sequence 1 (- n 1)) ))) |
|||
ls) )) |
|||
</lang> |
</lang> |
||
===version 2=== |
===version 2=== |
||
<lang Emacs Lisp> |
<lang Emacs Lisp> |
||
(defun sum-3-5 ( |
(defun sum-3-5 (n) |
||
(apply '+ (seq-filter |
(apply '+ (seq-filter |
||
'(lambda (x) (or (= 0 (% x 3) ) (= 0 (% x 5) ))) |
'(lambda (x) (or (= 0 (% x 3) ) (= 0 (% x 5) ))) |
||
(number-sequence 1 (- n 1))) )) |
|||
</lang> |
</lang> |
||
<b>Eval:</b> |
<b>Eval:</b> |
||
<lang Emacs Lisp> |
<lang Emacs Lisp> |
||
(insert (format "%d" (sum-3-5 |
(insert (format "%d" (sum-3-5 100) )) |
||
(insert (format "%d" (sum-3-5 1000) )) |
|||
</lang> |
</lang> |
||
<b>Output:</b> |
<b>Output:</b> |
||
<pre> |
<pre> |
||
2318 |
|||
2418 |
|||
233168 |
|||
</pre> |
</pre> |
||