0
我想用rep語句來獲得階乘函數。如何在r中使用rep語句獲得階乘?
我試試!但失敗!
fact <- function(n){
for (i in 0:n){
while(i<n){
rep{n*fact(n-1) if(i ==n) break}
}
}
謝謝你的回答。 :)
我想用rep語句來獲得階乘函數。如何在r中使用rep語句獲得階乘?
我試試!但失敗!
fact <- function(n){
for (i in 0:n){
while(i<n){
rep{n*fact(n-1) if(i ==n) break}
}
}
謝謝你的回答。 :)
假設你的意思replicate
,不rep
這將是一個解決方案:
fact <- function(N){
n <- N
f <- 1
replicate(n, {
f <<- f*n
n <<- n-1
f
})[N]
}
,當然也只有用這個作爲一個練習,因爲它比在factorial
功能的構建方法要慢。
如果你到函數式編程,你可以使用下面的基於λ-解決方案:
N <- 10
factorial_generator <- function(){
fac <- 1
n <- 0
function(){
n <<- n+1
fac <<- fac * n
return(fac)
}
}
my_factorial <- factorial_generator()
replicate(N, my_factorial())[N]
不要把代碼的圖像 - 把它的實際問題。如果他們想要幫助,沒有人會想要手動轉錄您的圖片。 –
哦......好的。我寫了代碼。 – resilience
'rep'用於重複向量的值,你可能是指'replicate'? – snaut