https://github.com/cran/pracma
Revision b5e4bf28fcba9f5eaffbeecfb0bc307452d074ee authored by Hans W. Borchers on 01 November 2014, 00:00:00 UTC, committed by Gabor Csardi on 01 November 2014, 00:00:00 UTC
1 parent d57c14d
Tip revision: b5e4bf28fcba9f5eaffbeecfb0bc307452d074ee authored by Hans W. Borchers on 01 November 2014, 00:00:00 UTC
version 1.7.7
version 1.7.7
Tip revision: b5e4bf2
factors.R
###
### f a c t o r s . R Factorize natural number
###
factors <- function(n) {
if (!is.numeric(n) || length(n) != 1 || n != round(n) || n < 1)
stop("Argument 'n' must be a nonnegative integer.")
if (n >= 2^53)
stop("Argument 'n' must not be larger than 2^53-1.")
if (n < 4) return(n)
f <- c()
p <- primes(sqrt(n))
d <- which(n %% p == 0)
if (length(d) == 0) return(n) # n is prime
for (q in p[d]) {
while (n %% q == 0) {
f <- c(f, q)
n <- n/q
}
}
if (n > 1) f <- c(f, n)
return(f)
}
Computing file changes ...