ich diese Funktion hat eine Fakultät von Zahl zu findenFactorial memoization in R
fact <- function(n) {
if (n < 0){
cat ("Sorry, factorial does not exist for negative numbers", "\n")
} else if (n == 0){
cat ("The factorial of 0 is 1", "\n")
} else {
results = 1
for (i in 1:n){
results = results * i
}
cat(paste("The factorial of", n ,"is", results, "\n"))
}
}
Jetzt möchte ich memoization in R. Ich habe Grundidee auf R implementieren und zu versuchen, sie zu implementieren. Aber ich bin mir nicht sicher, ob es so weiter geht. Könnten Sie bitte auch dieses Thema erläutern? Danke im Voraus. memoized Factorial
fact_tbl <- c(0, 1, rep(NA, 100))
fact_mem <- function(n){
stopifnot(n > 0)
if(!is.na(fib_tbl[n])){
fib_tbl[n]
} else {
fact_tbl[n-1] <<- fac_mem(n-1) * n
}
}
print (fact_mem(4))
sehr viel in der Tat für eine solche aufwendige Erklärung Dieses Paket kann nützlich https://github.com/hadley/memoise –