clojure-是prime吗?素数

clojure-是prime吗?素数,clojure,Clojure,函数名为素数?它接受输入n,如果n为 素数,否则为假。此函数应检查n是1还是2,以及 相应地作出反应;如果不是,它应该称为“无除数” (defn divides? [div n] (zero? (mod n div))) (defn no-divisors? [n] (->> (range 2 n) (filter #(divides? % n)) empty?)) 问题代码如下 (defn is-prime? [n] (and (> n 1) (not-

函数名为素数?它接受输入n,如果n为 素数,否则为假。此函数应检查n是1还是2,以及 相应地作出反应;如果不是,它应该称为“无除数”

(defn divides? [div n] (zero? (mod n div)))

 (defn no-divisors? [n]
  (->> (range 2 n)
   (filter #(divides? % n))
   empty?))
问题代码如下

(defn is-prime? [n]
(and (> n 1) (not-any? (filter #(no-divisors? % n)) (range 2 n))))

/// current output///
(is-prime? 1)
 => false
(is-prime? 2)
 => true
(is-prime? 3)
 => false
(is-prime? 4)
 => false
(is-prime? 101)
 => false
/// current output///

/// required output ///
(is-prime? 1)
 => false
 (is-prime? 2)
 => true
 (is-prime? 3)
 => true
 (is-prime? 4)
 => false
 (is-prime? 101)
 => true
 /// required output ///

非常感谢您的帮助。

无除数?是多余的

(letfn [(divides? [m n] (zero? (rem m n)))
        (prime? [n] (and (< 1 n) (not-any? #(divides? n %) (range 2 n))))]

    (prn (for [i (range 100)
                  :when (prime? i)] i)))
(letfn[(除?[mn](零?(rem mn)))
(素数?[n](和(<1n)(不是任何?#(除?n%)(范围2n)))]
(prn(适用于[i(范围100))
:何时(质数?i)]i)

您进行了哪些调试?你把问题缩小到哪里去了?您是否检查了导致错误结果的任何数据?请展示一个包含所有相关代码的文档,如
divides?
。嗨,我是clojure的新手,正在从事一个小项目,以便更好地理解。与除法有关的代码?is“(defn除数?[div n](零?(mod n div)))”除了n为1的情况外,
无除数?
已经是对n是否为素数、无除数的测试了?这需要输入n。如果没有介于2和之间的数字,则函数返回true√嗨,我在用repl。我不知道这个代码与mine@llllollll这段代码没有提供我所需要的输出,上面的输出就是我所需要的。我已经尝试过这个代码,但没有工作,任何更多的想法将受到欢迎,谢谢