Ruby - помогает объединить синтаксис для нахождения простого числа и уменьшения до наименьшего делителя больше 1 для не простых чисел - PullRequest
0 голосов
/ 04 марта 2019

Я совершенно новичок в этом и пытаюсь научить себя Руби.Мне задали вопрос, чтобы узнать, смогу ли я собрать воедино то, что нужно сделать, и доказать навыки решения проблем с помощью исследований и самоотдачи, так что, имейте в виду, я очень мало знаю о Ruby, я изучаю его целый день.

Мне нужно сначала определить, является ли целое число простым числом (насколько я знаю, не используя требуемый каталог 'prime'), а затем, если результат равен true, мой вывод должен быть равен 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, и я достаточно уверен, что именно здесь я и напутал.

Поиск простого числа РАБОТАЕТ;остальное (нахождение наименьшего делителя) этого не делает.И я уверен, что моя замена истины на 1 ужасно искажает это.Любая помощь или понимание будет принята с благодарностью.У меня нулевой фон в кодировании (если не считать мою маму, работающую в COBOL в 80-х годах), поэтому, во что бы то ни стало, объясните это, как вы, простому человеку, потому что Я ТАК нов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...