我用 Clojure 编写了简单的阶乘程序。
(defn fac [x y]
(if (= x 1) y (recur (- x 1) (* y x)))
)
(def fact [n] (fac n 1))
怎样才能做得更快?如果能以更快的方式完成。
最佳答案
您可以在这里找到许多快速阶乘算法:http://www.luschny.de/math/factorial/FastFactorialFunctions.htm
正如上面所评论的,Clojure 并不是最好的语言。考虑使用 C、C++、ForTran。
请谨慎使用您使用的数据结构,因为阶乘增长得非常快。
关于performance - 如何使阶乘更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19112053/