我对此完全陌生,并尝试自学Ruby。我遇到了一个问题,看我是否可以拼凑做些什么,并通过研究和坚定的决心证明解决问题的能力,因此请记住,我对Ruby知之甚少,我整天都在学习它。
我首先需要确定整数是否是质数(据我所知,不使用必需的“素数”目录),然后,如果结果为true,则我的输出必须为1。否,我的输出必须是大于1的最小除数。
将我在这里找到的内容以及互联网上的其他各个站点汇集在一起,我整理了一些希望能起作用的东西。它不是。
def isPrime(n)
( 2..Math.sqrt(n)).each { |i|
if n % i == 0 && i < n
else
n.reduce { |smallest, current| break if n <= 2 }
puts n
end
}
1
我不知道为什么它不起作用。我对Ruby的语法知之甚少,并且可以肯定的是,我正在搞砸。
查找素数确实有效;其余的(找到最小的除数)则没有。而且我敢肯定,将我的true替换为1会令人讨厌。任何帮助或见识将不胜感激。我的编码背景为零(除非您算上80年代我妈妈在COBOL中工作),所以,无论如何,请像我一样简单地解释一下,因为我是新来的。