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

问题描述 投票:0回答:1

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

(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)
loops clojure tail-recursion
1个回答
-1
投票
(defn sum-square [n]
  (->> (range n) 
       (map *) 
       (reduce +))

你也可以这样写。

© www.soinside.com 2019 - 2024. All rights reserved.