Ruby素数

时间:2016-10-21 11:50:57

标签: ruby

所以我有以下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作为我的数字范围。

0 个答案:

没有答案