You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

用R语言循环计算分式求和:验证代码及多循环实现方案

R语言计算求和式(1/3)+(3/5)+⋯+(99/101)的多种实现

你的while循环代码正确性验证

你的代码逻辑是完全正确的:

  • 初始sum=0,i=1,j=3,对应求和式的第一项1/3
  • 每次循环累加i/j后,i和j同步加2,正好匹配后续每一项的分子分母(3/5、5/7……直到99/101)
  • 循环条件i<=99 && j<=101虽有冗余(因为i和j始终相差2,i=99时j必然是101),但不影响计算结果
  • 运行代码得到的结果约为48.0494,和求和式的实际结果一致

其他循环实现方案

1. for循环写法

可以直接生成分子的奇数序列,遍历计算每一项:

sum <- 0
# 生成1到99的所有奇数
nums <- seq(1, 99, by = 2)
for (i in nums) {
  sum <- sum + i/(i+2)
}
print(sum)

也可以简化为直接在循环中控制变量:

sum <- 0
for (i in seq(1, 99, 2)) {
  sum <- sum + i/(i+2)
}
print(sum)

2. repeat循环写法

repeat循环需要手动设置终止条件,用break跳出:

sum <- 0
i <- 1
repeat {
  sum <- sum + i/(i+2)
  i <- i + 2
  # 当i超过99时终止循环
  if (i > 99) {
    break
  }
}
print(sum)

更简洁的R向量式写法(非循环)

R语言更推荐向量化操作,代码更简洁且效率更高:

nums <- seq(1, 99, by = 2)
sum_result <- sum(nums/(nums+2))
print(sum_result)

这段代码直接生成分子序列,计算每一项的比值后用sum()函数求和,结果和循环写法完全一致。

内容的提问来源于stack exchange,提问作者jhonny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:39:21