輸入正整數 n,計算 1+2+...+n 的和。
範例: n=100 → 5050
#includeint main() { int n, sum = 0; scanf("%d", &n); for (int i = 1; i <= n; i++) // 從 1 開始更符合數學定義 sum += i; printf("%d\n", sum); return 0; }
等差數列求和:S = n * (n + 1) / 2
long long sum = (long long)n * (n + 1) / 2; // 先乘後除,用 long long 防溢出
注意: `n*(n+1)` 可能溢出 `int`,必須提升類型。
輸入 1234 → 1+2+3+4=10
int digit_sum(int n) {
int sum = 0;
while (n) {
sum += n % 10;
n /= 10;
}
return sum;
}
1+...+n 是循環入門經典。**循環法**理解迭代本質;**公式法**體現數學優化思想。工程中**必用公式法**,並注意類型提升防溢出。變體「各位數字和」考察取模除法與循環不變量,同屬基礎必會。