所以我有以下2个程序:
第一个程序,按预期工作(例如:输入7,输出数字为素数
puts "Enter a positive number: "
number = gets.chomp.to_i
prime = true
i = 2
while i <= number/2
if number % i == 0
prime = false
end
i += 1
end
if prime == true
puts "Number is prime"
else
puts "Number is not prime"
end
第二个程序,基本上是相同的,只是添加了用户检查范围内的素数的能力。该程序仅显示2和3作为素数(例如,如果输入为10)
puts "Enter a positive number: "
range = gets.chomp.to_i
prime = true
i = 2
number = 2
while number <= range
while i <= number/2
if number % i == 0
prime = false
end
i += 1
end
if prime == true
puts "#{number} is prime"
else
puts "#{number} is not prime"
end
number += 1
end
我认为问题在于我的增加方式,因为我不能使用for,但我尝试调试,我只是没有得到它,它应该打印5和7,如果我输入10作为我的数字范围。