【发布时间】:2018-11-09 00:58:11
【问题描述】:
我正在使用 Clojure 执行以下任务 -
Write a function named get-divisors which takes a number n as input and returns the all the numbers between 2 and √???? inclusive
到目前为止,我有这段代码,它似乎按预期工作:
(defn get-divisors [n]
(str (range 2 (Math/sqrt n))))
用户插入和输入,代码将显示 2 和该特定数字的平方根之间的所有数字。 (我知道!get-divisors 是一个可怕的函数名称)
我输入(get-divisors 101) 我得到以下输出
"(2 3 4 5 6 7 8 9 10)" 这是正确的。
但是,问题是当我使用数字 4 时,我得到的结果是 nil 或 (),而实际上我应该得到 2。或者当我输入49 时,我应该得到2 和7 之间的所有数字,但我只能得到2 和6 之间的所有数字。
我在网上搜索了一些信息。但是,我是 Clojure 的新手,与 Java、JavaScript 之类的信息相比,有关此编程的信息似乎很少。我已经阅读了另一个基于类似情况的帖子,但是不幸的是,这些建议/答案对我不起作用。
如果有任何帮助,我将不胜感激。谢谢。
【问题讨论】:
标签: clojure read-eval-print-loop