Методы определения простых чисел в R: примеры кода

Чтобы определить, является ли данное число простым или нет, в языке программирования R можно использовать несколько методов. Вот несколько примеров:

Метод 1: наивный подход
Наивный подход заключается в проверке, делится ли число на любое число от 2 до квадратного корня из числа.

is_prime <- function(n) {
  if (n <= 1) {
    return(FALSE)
  }
  for (i in 2:sqrt(n)) {
    if (n %% i == 0) {
      return(FALSE)
    }
  }
  return(TRUE)
}
# Usage
number <- 17
if (is_prime(number)) {
  print(paste(number, "is prime."))
} else {
  print(paste(number, "is not prime."))
}

Метод 2: Решето Эратосфена
Решето Эратосфена — это эффективный алгоритм для поиска всех простых чисел до заданного предела. Вы можете изменить его, чтобы проверить, является ли определенное число простым.

is_prime <- function(n) {
  sieve <- rep(TRUE, n)
  sieve[1] <- FALSE
  p <- 2
  while (p^2 <= n) {
    if (sieve[p]) {
      for (i in (p^2):n:p) {
        sieve[i] <- FALSE
      }
    }
    p <- p + 1
  }
  return(sieve[n])
}
# Usage
number <- 17
if (is_prime(number)) {
  print(paste(number, "is prime."))
} else {
  print(paste(number, "is not prime."))
}

Метод 3: использование функции проверки на простоту.
Вы также можете использовать функцию isprime из пакета Numbers в R, чтобы проверить, является ли число простым.

install.packages("numbers")  # Run this line to install the 'numbers' package
library(numbers)
is_prime <- function(n) {
  return(isprime(n))
}
# Usage
number <- 17
if (is_prime(number)) {
  print(paste(number, "is prime."))
} else {
  print(paste(number, "is not prime."))
}