Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查给定的是素数还是未使用clojure (defn素数[x] (如果有两条评论: range返回一个seq,您正试图将其应用于(mod x…。我认为您缺少一个映射 如果仔细想想,从if返回true和false,没有实际意义(提示,尝试查看函数not的行为)_Clojure - Fatal编程技术网

检查给定的是素数还是未使用clojure (defn素数[x] (如果有两条评论: range返回一个seq,您正试图将其应用于(mod x…。我认为您缺少一个映射 如果仔细想想,从if返回true和false,没有实际意义(提示,尝试查看函数not的行为)

检查给定的是素数还是未使用clojure (defn素数[x] (如果有两条评论: range返回一个seq,您正试图将其应用于(mod x…。我认为您缺少一个映射 如果仔细想想,从if返回true和false,没有实际意义(提示,尝试查看函数not的行为),clojure,Clojure,您应该再次尝试,并向我们更新您的想法!两条评论: range返回一个seq,您正试图将其应用于(mod x…。我认为您缺少一个映射 如果仔细想想,从if返回true和false,没有实际意义(提示,尝试查看函数not的行为) 你应该再做一次尝试,并向我们更新你的想法!我认为问题稍微不同。我们不想尝试大于我们想要知道的数的平方根的值是否为素数。原因在这里解释。(基本上,如果x=a*b,那么a和b都不能大于平方根) 所以我们正在建立的序列,是平方根 (defn prime [x] (if (

您应该再次尝试,并向我们更新您的想法!

两条评论:

  • range
    返回一个seq,您正试图将其应用于
    (mod x…
    。我认为您缺少一个
    映射
  • 如果仔细想想,从if返回
    true
    false
    ,没有实际意义(提示,尝试查看函数
    not
    的行为)

  • 你应该再做一次尝试,并向我们更新你的想法!

    我认为问题稍微不同。我们不想尝试大于我们想要知道的数的平方根的值是否为素数。原因在这里解释。(基本上,如果x=a*b,那么a和b都不能大于平方根)

    所以我们正在建立的序列,是平方根

    (defn prime [x]
        (if (#(<= % (Math/sqrt x)) (first (filter zero? (mod x (range 2 (inc x))))))
           false
           true))
    
    最后,我们对除数进行过滤:

    (defn root-1 [x]
        (inc (long (Math/sqrt x))))
    
    (defn range-1 [x]
      (range 2 (root-1 x)))
    
    特别是,我们可以在第一个问题上停下来,然后过滤懒惰,这很好地得出:

    (defn filter-1 [x]
      (filter #(zero? (rem x %))
            (range-1 x)))
    
    我们可以尝试:

    (defn is-prime [x]
      (nil? (first (filter-1 x))))
    

    我认为问题略有不同。我们不想尝试大于我们想知道的数的平方根的值是否为素数。原因是这样解释的。(基本上,如果x=a*b,那么a和b都不能大于平方根)

    所以我们正在建立的序列,是平方根

    (defn prime [x]
        (if (#(<= % (Math/sqrt x)) (first (filter zero? (mod x (range 2 (inc x))))))
           false
           true))
    
    最后,我们对除数进行过滤:

    (defn root-1 [x]
        (inc (long (Math/sqrt x))))
    
    (defn range-1 [x]
      (range 2 (root-1 x)))
    
    特别是,我们可以在第一个问题上停下来,然后过滤懒惰,这很好地得出:

    (defn filter-1 [x]
      (filter #(zero? (rem x %))
            (range-1 x)))
    
    我们可以尝试:

    (defn is-prime [x]
      (nil? (first (filter-1 x))))
    

    解释你的食谱:

  • 过滤
    x
    的所有除数
  • 选择其中的第一个
  • 如果小于或等于
    x
    的平方根,则
    x
    不是质数
  • 给定的代码存在以下问题:

    • 周围的
      if
      表单是冗余的
    • 过滤函数错误。它应该包含
      zero?
      mod x
    • 不需要构造和应用匿名函数,只需 直接应用测试
    而且,尽管修复后的算法可以工作,但仍然很笨拙

    • 素数
      x
      的第一个除数是
      x
      本身。不需要 用平方根乱搞
    • 范围应该是从2到
      x
      的平方根。然后是
      nil
      第一个除数的值表示素数

      • 解释你的食谱:

      • 过滤
        x
        的所有除数
      • 选择其中的第一个
      • 如果小于或等于
        x
        的平方根,则
        x
        不是质数
      • 给定的代码存在以下问题:

        • 周围的
          if
          表单是冗余的
        • 过滤函数错误。它应该包含
          zero?
          mod x
        • 不需要构造和应用匿名函数,只需 直接应用测试
        而且,尽管修复后的算法可以工作,但仍然很笨拙

        • 素数
          x
          的第一个除数是
          x
          本身。不需要 用平方根乱搞
        • 范围应该是从2到
          x
          的平方根。然后是
          nil
          第一个除数的值表示素数

        快速检查数字是否为素数:

        (is-prime 10) ; false
        (is-prime 11) ; true
        

        快速检查数字是否为素数:

        (is-prime 10) ; false
        (is-prime 11) ; true
        

        在你的问题中发布错误会有帮助在你的问题中发布错误会有帮助