計算2..n的素數

c3tc3tc3t發表於2017-08-22
  def check(2) , do: true
   def check(n) when n >2 do
        b = for x <- (Enum.into 2..n-1,[]),do: x
        if chec(n,b,[]) == [] do
          true
        end
   end

   
    def chec(n,[m|r],ss) when rem(n,m) ==0, do: chec(n,r,[m|ss])
    def chec(n,[m|r],ss), do: chec(n,r,ss)
    def chec(n,[],ss), do: ss


    
  def span2(n) when n > 2 do
     for x <- (Enum.into 2..n, []), check(x) == true , do: x
  end
  def span2(n), do: "n must > 2" 
IO.inspect(span2(40))


[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]

  

  

相關文章