Programming-Idioms

History of Idiom 31 > diff from v40 to v41

Edit summary for version 41 :
[Clojure] comment/explain-stuff formatting

Version 40

2017-12-21, 02:59:25

Version 41

2017-12-21, 03:00:11

Idiom #31 Recursive factorial (simple)

Create recursive function f which returns the factorial of non-negative integer i, calculated from f(i-1)

Idiom #31 Recursive factorial (simple)

Create recursive function f which returns the factorial of non-negative integer i, calculated from f(i-1)

Code
(defn f [i]
  (loop [i i acc 1N]
    (if (zero? i)
      acc
      (recur (dec i) (* i acc)))))
Code
(defn f [i]
  (loop [i i acc 1N]
    (if (zero? i)
      acc
      (recur (dec i) (* i acc)))))
Comments bubble
This supports arbitrary-precision.
Replace 1N (clojure.lang.BigInt) with 1 (java.lang.Long) if you don't need to calculate anything above _(f 20) .
Comments bubble
This supports arbitrary-precision.
Replace 1N (clojure.lang.BigInt) with 1 (java.lang.Long) if you don't need to calculate anything above (f 20).
Demo URL
https://repl.it/repls/SerpentineFunnyYnambu
Demo URL
https://repl.it/repls/SerpentineFunnyYnambu