Greatest common divisor: Difference between revisions
Content added Content deleted
(→{{header|AutoHotkey}}: Changed non-recursive version (slightly faster)) |
m (→{{header|Clojure}}: gcd of list of numbers) |
||
Line 618: | Line 618: | ||
That <code>recur</code> call is the same as <code>(gcd b (mod a b))</code>, but makes use of Clojure's explicit tail call optimization. |
That <code>recur</code> call is the same as <code>(gcd b (mod a b))</code>, but makes use of Clojure's explicit tail call optimization. |
||
This can be easily extended to work with variadic arguments: |
|||
<lang lisp>(defn gcd* |
|||
"greatest common divisor of a list of numbers" |
|||
[& lst] |
|||
(reduce gcd |
|||
lst))</lang> |
|||
=={{header|COBOL}}== |
=={{header|COBOL}}== |