R语言:如何r语言编写程序求e的近似值,精确到10-5

如题所述

最简单但计算量最大的是泰勒公式:e=1+1/1!+1/2!+1/3!+1/4!+...

下面是求e的R语言函数:

e_fun <- function(n) {
  etemp <- 1
  ni <- 1L
  for (i in 1:n) {
    etemp <- etemp + 1 / ni
    ni <- ni * (i + 1)
  }
  return(etemp)
}

不过你题目中要求的是求到精度为0.00001就停止,所以可以采用repeat循环:

i <- 1L
ni <- 1L
etemp <- 1
repeat {
  etemp1 <- etemp
  etemp <- etemp + 1 / ni
  ni <- ni * (i + 1)
  i <- i + 1
  if (etemp - etemp1 < 0.00001) break
}
i
etemp

在最后可以看到,求到i=10时,精度就已经达到要求了。

温馨提示:答案为网友推荐,仅供参考
相似回答