如何使用循环/重复在clojure中打印n个数字的平方和

时间:2018-10-09 09:50:38

标签: loops clojure tail-recursion

我正在尝试下面的代码,但它给出了一个错误:

(defn sum-square [n]
       (loop [i 0 result 0]
           (if (<= i n) 
               (do    
                   (recur (inc i) (conj result (+ result (* i i))))))))  
    (def n (Integer/parseInt (clojure.string/trim (read-line))))
    (sum-square n)

1 个答案:

答案 0 :(得分:0)

(defn sum-square [n]
  (->> (range n) 
       (map #(* % %)) 
       (reduce +))

您也可以这样写。