Clojure - Calculate with big numbers

孤者浪人 提交于 2019-11-29 09:36:45

You could use the *' operator which supports arbitrary precision by automatically promoting the result to BigInt in case it would overflow:

(reduce *' (range 1 1001))

Put N at the end of the number which makes it a bigint,

(reduce * (range 1N 1001N))

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)))
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!