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