У меня проблемы с моим кодом, который должен определять, является ли данное натуральное число очень сложным или нет.До сих пор я придумал это:
ex33 <- function(x){
fact <- function(x) {
x <- as.integer(x)
div <- seq_len(abs(x))
factors <- div[x %% div == 0L]
return(factors)
}
k <- length(fact(x))
check <- NULL
tocheck <- c(1:(x-1))[-fact(x)]
for (i in tocheck) {
l <- length(fact(i))
if (l>=k){
check[i]<-1
break
}else{
check[i]<-0
}
}
if (1 %in% check){
return(FALSE)
}else{
return(TRUE)
}
}
Я знаю, это довольно неэффективно и медленно, но я не мог найти другой алгоритм для ускорения этой функции.