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

Python015

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

最简单但计算量最大的是泰勒公式: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时,精度就已经达到要求了。

0.05374

这是科学记数法。

把一个绝对值小于1(或者大于等于10)的实数记为a×10^n的形式(其中1≤|a|<10),这种记数法叫做科学记数法。例如19971400000000=1.99714×10^13。计算器或电脑表达10的的幂是一般是用E或e,也就是1.99714E13=19971400000000。

5.374e-02就是0.05374。