题目
从标准输入读入一个正整数 n,计算并输出 1 到 n 的自然数累加和(即 1 + 2 + ... + n)。
输入格式:一行输入一个正整数 n。
输出格式:输出一个整数表示累加和,末尾换行。
数据范围与约定:1 ≤ n ≤ 108。
思路与算法
1. 循环累加逻辑
初始化累加变量 sum = 0,使用 for 循环让计数器 i 从 1 遍历到 n,每轮将 i 累加至 sum。
2. 核心考点:整型溢出防范
当 n = 105 时,累加和约为 5×109,已超出 32 位带符号整型 int 的表示范围(约 2.14×109)。因此累加变量 sum 必须使用 64 位整型 long。
完整程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 累加和增长快,当 n 达到 10^5 时总和突破 2*10^9,必须使用 long 避免整型溢出
long sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
System.out.println(sum);
}
}运行示例
输入:
5输出:
15