35 lines
597 B
R
35 lines
597 B
R
primes <- as.integer(c())
|
|
|
|
max_prime_checker <- function(n){
|
|
divisor <<- NULL
|
|
|
|
primes <- primes[primes <= n]
|
|
|
|
for(i in 1:length(primes)){
|
|
if((n/primes[i]) %% 1 == 0){
|
|
divisor[i]<<-1
|
|
} else {
|
|
divisor[i]<<-0
|
|
}
|
|
}
|
|
num_find <<- primes*as.integer(divisor)
|
|
|
|
return(max(num_find))
|
|
}
|
|
|
|
#recursive prime finder
|
|
prime_factors <- function(n){
|
|
|
|
factors <- NULL
|
|
|
|
large <- max_prime_checker(n)
|
|
n1 <- n/large
|
|
|
|
if(max_prime_checker(n1) == n1){
|
|
factors <- c(large,n1)
|
|
return(factors)
|
|
} else {
|
|
factors <- c(large, prime_factors(n1))
|
|
return(factors)
|
|
}
|
|
}
|