(def number 8)
(def power 3)
(def result1 (Math/pow number power))
;; result1 is 512.0, always a double
(def result2 (reduce * (repeat power number)))
;; result2 is 512, an exact integer
(def result3 (.modPow (biginteger number) (biginteger power) (biginteger 100)))
;; like 8 ** 3 % 100, result3 is 12
(println "result1 is" result1)
(println "result2 is" result2)
(println "result3 is" result3)