Clojure 言語の短いプレゼンテーションを行う必要があり、その中で単純なタスクの解決策も提供する必要があります。整数 n を入力し、合計を出力します: 1+2^2+3^2+...+n ^2. n が正になるように入力検証を使用します。
Lisp ダイアレクトまたは Java の以前の XP はまったくありませんが、この種のやりがいを感じています。私はどれくらい離れていますか?(たくさん推測):
(defn sum_of_squares [n]
(if (> n 0)
(def sum 0)
(dotimes [n]
(+ sum (* n n)))))
ご覧のとおり、何が起こっているのかわかりません。実際にユーザーにnの値を入力し、後で合計を印刷するように求めるにはどうすればよいですか? また、(+ sum (* nn)式全体がその結果を格納し、その過程で合計を更新することになっているのはどこですか?
この問題を解決するもっと簡単な方法があるかもしれませんので、お気軽に教えてください :)。