【发布时间】:2013-11-03 23:09:04
【问题描述】:
我一直在研究 ruby 并且一直在做一些 ruby 练习来看看我知道多少(这不是很多)。这是我遇到的一个问题:
问:编写一个方法 is_prime?,它接受一个数字 num,如果它是素数则返回 true,否则返回 false。
您可能希望使用模运算:5 % 2 在将 5 除以 2 时返回余数: 1. 如果 num 可被 i 整除,则 num % i == 0。(您不会期望已经知道关于挑战的模数)
这个问题也有答案,那就是。
答:
# Works for values greater than 1
def is_prime?(num)
i = 2
while i < num
is_divisible = ((num % i) == 0)
if is_divisible
# divisor found; stop and return false!
return false
end
i += 1
end
# no divisors found
true
end
这是我想出的:
毫安:
def is_prime?(num)
if num % 2 == 0
puts "false"
else
puts "true"
end
end
由于我的答案与答案完全不同,我可以找人支持我,看看我是否走在正确的轨道上。谢谢。
【问题讨论】:
-
您的解决方案有一个小问题:is_prime?(2) => "false"。开始here。
-
旁注,除了答案中迄今为止解决的问题外,您的函数应该返回真或假,而不是将其打印为字符串
标签: ruby-on-rails ruby primes