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

C++算术求和函数调试求助:不可修改主函数区域

修正aritmetiskSumma函数实现

原函数存在三个核心问题:

  • 循环起始值错误,从1开始累加而非传入的from参数
  • 循环终止条件错误,i < to会漏掉to本身,不符合“包含两端数”的要求
  • 完全未使用from参数,偏离了题目要求的求和范围

方案1:循环累加(直观易懂)

直接从from遍历到to(包含),逐个累加:

int aritmetiskSumma(int from, int to){
    int sum = 0;
    for(int i = from; i <= to; i++){
        sum += i;
    }
    return sum;
}

方案2:等差数列求和公式(高效优化)

利用等差数列求和公式可以避免循环,尤其适合大范围数值求和:
总和 = 项数 × (首项 + 末项) ÷ 2,其中项数为 to - from + 1

int aritmetiskSumma(int from, int to){
    int termCount = to - from + 1;
    return termCount * (from + to) / 2;
}

两种方案都能满足题目要求,例如调用aritmetiskSumma(2,4)时,都会返回正确结果9。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:01:47