如何使每个数组元素成为Ruby中特定值的除数?

时间:2016-04-14 16:39:52

标签: ruby

我正在编写这个程序,在不使用req prime的情况下找到1到100之间的素数。

编程以查找1到100之间的素数

divisors = [2,3,5,7,9,11,13,15]
arr = divisors.to_a
(1..100).each do |value|
  if ((value % (arr.each do |n|) != 0))
    puts "#{value}"
  end
  end

什么可以使数组中的每个元素将值除以除数?我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

你的代码中有很多故障,主要是:它的语法不正确,不会被ruby解析器接受。

下面的代码可以使用,但你应该考虑阅读有关ruby语法的一些教程。

divisors = [2,3,5,7,9,11,13]
(1..100).each do |value|
  unless divisors.any? { |d| value % d == 0 }
    puts "#{value}"
  end
end

如果且只有没有分隔符,则该数字为素数。将unlessEnumerable#any?结合使用,我们会检查完全相反的否定:d中是否有dividersvalue % d为零,我们完成了。