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

如何用Java实现AddUp100方法计算输入整数后续100个数之和

原有代码问题分析
  • 第一版代码问题:
    • 循环仅执行10次,远达不到累加100个数字的要求
    • 循环内累加的是0到9的数值,不是输入参数后续的连续整数
    • 最终返回值是初始偏移后的input,不是累加结果sum
  • 第二版代码问题:
    • 循环终止条件逻辑错误:i < 100 仅在input小于100时会执行循环,如果input本身大于等于100,循环不会执行,完全得不到正确结果
    • 没有控制累加次数为100次,只是限制了i的上限小于100,不符合需求
正确实现方案

方案1:循环计数实现(易理解)

直接控制循环执行100次,每次累加对应数值即可:

private static int AddUp100(int input) {
    int sum = 0;
    // 从input+1开始,累加100个连续整数
    for (int i = 1; i <= 100; i++) {
        sum += input + i;
    }
    // 打印累加和
    System.out.println(sum);
    return sum;
}

逻辑验证:输入为12时,累加的是12+1到12+100也就是13到112,结果为6250,和示例要求一致。

方案2:等差数列公式实现(更高性能)

因为是连续100个整数求和,属于等差数列求和,首项是input+1,末项是input+100,项数100,求和公式为(首项+末项)*项数/2,可以避免循环,时间复杂度为O(1):

private static int AddUp100(int input) {
    int first = input + 1;
    int last = input + 100;
    int sum = (first + last) * 100 / 2;
    System.out.println(sum);
    return sum;
}

计算验证:输入12时,首项13,末项112,(13+112)100/2 = 12550 = 6250,完全符合示例结果。同时支持正负整数输入,只要最终求和结果在int取值范围内就可以正常返回。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:24:07