Código compacto para comprobar si un número es primo

# Devuelbe T si n es primo y F si no lo es

esprimo <- function(n) {
  
  if (n > .Machine$integer.max) {
    cat("El número excede la capacidad\n")
    return(NULL)
  }
  
  if (n==1 || n==2) return(T)
  
  return(all(n %% (2:sqrt(n)) != 0))
}

Ejemplos de uso

esprimo(100003)
## [1] TRUE
esprimo(100001)
## [1] FALSE