ruby判断一个数是否为质数(素数)示例

1430 查看

ruby判断一个数是否为质数

质数又称素数。一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数;(除0以外)否则称为合数 。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。

复制代码 代码如下:

def prime?(num)
  res = [1]
  res << num

  if num == 0 || num == 1
    return false
  end

  2.upto(10) do |x|
    #如果有自己的话,就跳下一次循环
    if num == x
      next
    end

    #看看是否能被 2-10之间的数整除, 取余数相当于分组
    if num % x == 0
      res << x
    end
  end

  res.length > 2 ? false : true
end