Clojure - Calculate with big numbers

前端 未结 3 347
你的背包
你的背包 2020-12-19 00:54

I want to calculate !1000 in clojure, how can I do this without getting a integer-overflow exception?

My factorial code is right now: (reduce * (r

3条回答
  •  有刺的猬
    2020-12-19 01:07

    Coerce the parameters to clojure.lang.BigInt

    (reduce * (range (bigint 1) (bigint 1001)))
    

    I.e. if you are working with an third-party library that doesn't use *'

    (defn factorial' [n]
       (factorial (bigint n)))
    

提交回复
热议问题