R中分数总和的函数

Function for sum of fractions in R

我想写一个计算分数求和的函数。 x 是分子,nx 的最大值。如果 c = x+1 我想对 x/c 的所有分数求和,如果 c == y.

则停止

例如,如果 x = 1y = 4

1/1 + 1/2 + 1/3 + 1/4 = 2.083333

或者,如果 x = 2y = 5

2/1 + 2/2 + 2/3 + 2/4 + 2/5 = 4.566667

我尝试了一个 while 循环,但我认为那还差得远:

score <- function(x, y){
  while (c < y){
    c <- x/1
    c <- x/c+1
  }
}

编辑:尽可能避免 R 中的循环。

f <- function(x,y) x * sum(1/(1:y))