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

如何使用for-loop计算前n项正整数分数序列1/2+…+n/(n+1)的和

用for循环计算目标分数序列和的实现方案

核心逻辑

序列通项为第i项的值为i/(i+1),i的取值范围是1到n(包含n),用for循环遍历每一项累加即可。

常见错误避坑

  • 循环范围错误:循环起始值设为0、或者终止值小于n,会导致求和项数量不对
  • 整数除法问题:大部分编程语言中如果分子分母都为整数类型,默认会执行截断取整,结果恒为0,需要先将其中一个操作数转为浮点类型再做除法

代码实现

Python 实现

def calc_fraction_sum(n):
    total = 0.0
    # range为左闭右开规则,所以终止值设为n+1
    for i in range(1, n + 1):
        total += i / (i + 1)
    return total

# 测试示例
print(calc_fraction_sum(1)) # 输出0.5,对应1/2
print(calc_fraction_sum(3)) # 输出约1.9166666666666665,对应23/12

C 语言实现

#include <stdio.h>

double calc_fraction_sum(int n) {
    double total = 0.0;
    for (int i = 1; i <= n; i++) {
        // 强制转换为double类型避免整数除法
        total += (double)i / (i + 1);
    }
    return total;
}

int main() {
    printf("n=3时求和结果:%lf", calc_fraction_sum(3));
    return 0;
}

JavaScript 实现

function calcFractionSum(n) {
    let total = 0.0;
    for (let i = 1; i <= n; i++) {
        total += i / (i + 1);
    }
    return total;
}

// 测试示例
console.log(calcFractionSum(2)) // 输出约1.1666666666666665

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:30:00