我已经编写了下面的代码来计算两个正整数的最大公约数。在代码中是否有一些不够优化或者Clojurian,如果有的话,更好的Clojurian方法是什么?
(def gcd (fn [a b] (->> (map (fn [x]
(filter #(zero? (mod x %)) (range 1 (inc x))))
[a b])
(map set)
(apply clojure.set/intersection)
(apply max))))
(gcd 1023 858)` => 33
(filter)
和(range)
创建的吗? - user4813927