RosettaCodeData/Task/Arbitrary-precision-integers--included-/Clojure/arbitrary-precision-integers--included--2.clj
Ingy döt Net b83f433714 tasks a-s
2013-04-10 23:57:08 -07:00

5 lines
154 B
Clojure

(defn exp [n k]
(cond
(zero? (mod k 2)) (recur (* n n) (/ k 2))
(zero? (mod k 3)) (recur (* n n n) (/ k 3))
:else (reduce * (repeat k n))))