Факториальная памятка в 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"))
}
}
Теперь я хочу реализовать Memoization в R. У меня есть основная идея по R, и я пытаюсь реализовать их. Но я не уверен, что это путь вперед. Не могли бы вы также уточнить эту тему. Заранее спасибо. Мемориальный Факториал
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))