Ruby-帮助组合语法以查找素数,并将非素数的最小除数减小为大于1

时间:2019-03-04 16:00:14

标签: ruby

我对此完全陌生,并尝试自学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中工作),所以,无论如何,请像我一样简单地解释一下,因为我是新来的。

0 个答案:

没有答案