我正在尝试解决 Ruby挑战。目的是编写一个方法,如果作为参数输入的随机整数(包括负整数和 0)是素数,则返回 true,否则返回 false。我的方法在返回结果时返回正确的结果。
我已经测试了数字 1-20 的方法。它返回:
- 对 20 以下的所有 7 个素数都为真,除了 3,它是 nil
- 1、9 和 15 为假
- 其他一切为零
我还测试了 43(真)和 100 和 80(无)。我还注意到,如果我用 return 注释掉这些行,该方法会为 1 到 20 之间的所有参数返回 nil。
这是方法:
def isPrime(num)
num_absolute = num.abs
increasing_divisor = 2
almost_num_absolute = num_absolute - 1
if num_absolute <=1
return false
elsif num_absolute == 2
return true
else
until num_absolute % increasing_divisor == 0 || almost_num_absolute == increasing_divisor
increasing_divisor += 1
if num_absolute % increasing_divisor == 0
return false
elsif almost_num_absolute == increasing_divisor
return true
end
end
end
end