有关R语言的问题一个问题。

某台阶有n阶,青蛙每次以1/3概率跳一阶,以2/3概率跳二阶。(注:若只剩1级台阶,此时步数+1就是总步数)研究青蛙平均要跳多少步才能爬上台阶。
(1)自编函数,以n(台阶阶数),
rep(重复次数)为参数,返回步数平均值。
(2)n=20,rep=5000时,用所编函数计算平均步数。

steps <- function(n,rep){
sum_step <- c()
for (i in 1:rep){
step=0
surplus=n
while(surplus>0){
x <- rbinom(1,size=1,1/3)
if(x==1){
step=step+1
surplus=surplus-1
}
if(x==0){
step=step+1
surplus=surplus-2
}
if(surplus==1){
step=step+1
break
}
}
sum_step <- c(sum_step,step)
}
mean_step <- mean(sum_step)
return(mean_step)
}
#(2)
steps(20,5000)