【发布时间】:2021-12-28 11:21:19
【问题描述】:
【问题讨论】:
-
正如你所写的公式,它是一个无限嵌套的部首。你打算如何停止有限的 n?
-
我要问n的值。说 n = 5 那么这个系列应该是: (Sqrt(1+2 Sqrt(1+3 Sqrt (1+4 Sqrt(1+5)) @G5W
标签: r loops nested-loops
【问题讨论】:
标签: r loops nested-loops
我认为应该这样做
RNR <- function(N) Reduce(function(n, x) sqrt(1 + n * x), 2:N, 1, right = TRUE)
sapply(2:10, RNR) #only valid for N>1
[1] 1.732051 2.236068 2.559830 2.755053 2.867103 2.929173 2.962723 2.980554 2.989920
【讨论】:
使用递归:
ram <- Vectorize(function(n, r = 1) ifelse(n <= 1, r, ram(n - 1, sqrt(1 + n*r))))
ram(1:5)
[1] 1.000000 1.732051 2.236068 2.559830 2.755053
达到 3 的极限,机器精度在 50-60 左右:
3 - ram(seq(10, 100, 10))
[1] 1.007964e-02 1.211940e-05 1.317704e-08 1.382006e-11 1.421085e-14 0.000000e+00
[7] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
【讨论】: