确定数字是否为高度合成

时间:2018-10-14 19:07:37

标签: r function

我在确定应该确定给定自然数是否为highly composite的代码方面遇到麻烦。到目前为止,我已经提出了以下建议:

 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)
  }
}

我知道这是无效且缓慢的,但是我找不到其他算法来加快此功能的速度。

0 个答案:

没有答案