使用for和while表示r中的阶乘

使用for和while表示r中的阶乘,r,R,1+(2+1/2!)+(3+1/3!)……+(20+1/20!) -只在一段时间内使用 sum=0.0 sub_sum=0.0 i=2 j=20 while(i<=20){ print(i) sub_sum=1.0 j=1.0 while(j<=i){ print("j") print(j) print("sub_sum") print(sub_sum) sub_sum=j+sub_sum*(1/j) j=j+1

1+(2+1/2!)+(3+1/3!)……+(20+1/20!)

-只在一段时间内使用

    sum=0.0
sub_sum=0.0
i=2
j=20
while(i<=20){
  print(i)
  sub_sum=1.0
  j=1.0
  while(j<=i){
    print("j")
    print(j)
    print("sub_sum")
    print(sub_sum)
    sub_sum=j+sub_sum*(1/j)
    j=j+1
  }
  sub=sum+sub_sum
  i=i+1
}
print(sum)
sum=0.0
次和=0.0
i=2
j=20
而(i与
n=20

sapply(1:n, function(x) x+1/factorial(x)) %>% sum - 1

使用
res=-1

(1) for循环:

tmp = 1
for (i in 1:n) {
  tmp = tmp * i
  res = res + i + 1/tmp
}
res
(2) while循环:

tmp = 1
i = 1
while (i <= n) {
  tmp = tmp * i
  res = res + i + 1/tmp
  i = i + 1
}
res
tmp=1
i=1
而
tmp = 1
i = 1
while (i <= n) {
  tmp = tmp * i
  res = res + i + 1/tmp
  i = i + 1
}
res