Sha256: 55f9966875243c4a14acedde3f0da90bfea043c610b697d79de4992ab52efda0
Contents?: true
Size: 757 Bytes
Versions: 158
Compression:
Stored size: 757 Bytes
Contents
number_type <- function(n){ # catch invalid input if (n <= 0) stop("Classification is only possible for natural numbers.") # catch edge cases if (n %in% c(1, 2)) return("deficient") find_factors <- function(n) { factors <- c() for (i in 2:floor(n ^ 0.5 + 1)) { if (n %% i == 0) { if (i ^ 2 != n) { factors <- c(factors, i, n / i) } else { factors <- c(factors, i) } } } unique(factors) } sum <- sum(find_factors(n)) + 1 if (sum == n) return("perfect") else-if (sum > n) return("abundant") else-if (sum < n) return("deficient") # alternative to multiple if/else-if predicates: dplyr::case_when() }
Version data entries
158 entries across 158 versions & 1 rubygems