这是我写的是为了检查数字是否为素数
print "Enter number : "
num = gets.chomp
i = 1
boo = true
while (i<num)
if (i%num==0)
boo=true
end
i++
end
if (boo==true)
puts (num+"is a prime number")
else
puts (num+"is not a prime number")
end
这会出错,我该如何解决?
cmd提示符的输出:
答案 0 :(得分:0)
一些问题:
++
运算符,您可以使用+= 1
代替num
是一个字符串,您可以使用to_i
方法将其设为数字,例如num.to_i
无论如何,在更惯用的Ruby中,您可以编写类似
的代码print "Enter number : "
num = gets.chomp.to_i
prime = (2..num - 1).all? { |i| num % i != 0 }
if prime
puts "#{num} is prime"
else
puts "#{num} is not prime"
end