#include <stdio.h>

int main() {
    long int a, b=0;
    scanf("%ld", &a); // 注意 while 处理多个 case
    for (int i=0;i<=a;i++) {
        b+=i;
    }
    printf("%.0ld\n",b);
    return 0;
}

1. 循环结构(for 循环)

  • 使用 for 遍历从 0 到 a 的每个整数。
  • 体现了迭代思想:通过重复执行简单操作完成复杂任务。

2. 复合赋值运算符 +=

  • b += ib = b + i 的简写。

3. 变量作用域与初始化

  • b = 0 初始化很重要,避免未定义行为。
  • i 在 for 中声明并初始化。

4. 时间复杂度:O(a)

1. 数学公式应用

利用高斯求和公式:S = n(n + 1) / 2

体现算法优化思想:用 O(1) 数学方法替代 O(n) 循环。

2. 时间复杂度:O(1)

#include <stdio.h>

int main() {
    long int a, b;
    scanf("%ld", &a); 
    b=a*(a+1)/2;
    printf("%.0ld\n",b);
    return 0;
}