#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 += i是b = 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;
}

京公网安备 11010502036488号