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

使用R语言实现1/2−2/3+…+999/1000求和:seq参数疑问

R语言实现1/2−2/3+3/4−4/5+⋯+999/1000的求和

先解决你代码里的终止参数问题

原序列最后一项是**+999/1000**,拆分正负项来看:

  • 正项是 1/2, 3/4, 5/6, ..., 999/1000:
    • 分子序列b1是1、3…999,用seq(1, 999, 2)生成(原代码写seq(1,1000,2)也能得到正确结果,因为步长2,1000是偶数,最后一项自动停在999,但写999更直观)
    • 分母序列b2是2、4…1000,原代码seq(2,1000,2)是对的
  • 负项是 2/3, 4/5, 6/7, ..., 998/999:
    • 分子序列b3是2、4…998,所以终止参数填998,即seq(2, 998, 2)
    • 分母序列b4是3、5…999,终止参数填999,即seq(3, 999, 2)

按你的思路完成求和的代码:

b1 <- seq(1, 999, 2)
b2 <- seq(2, 1000, 2)
positive_terms <- b1 / b2

b3 <- seq(2, 998, 2)
b4 <- seq(3, 999, 2)
negative_terms <- b3 / b4

total_sum <- sum(positive_terms) - sum(negative_terms)

更简洁的写法

不用拆分正负项,直接给每一项加上对应符号:

# 生成1到999的分子,2到1000的分母
numerator <- 1:999
denominator <- 2:1000
# 符号序列:第1项+,第2项-,…,第999项+(因为999是奇数)
signs <- (-1)^(numerator + 1)
# 求和
total_sum <- sum(signs * numerator / denominator)

甚至可以一行搞定:

total_sum <- sum((-1)^(1:999 + 1) * (1:999)/(2:1000))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:36:24