题目

求 1 到 n 中所有偶数之和

思路

本题求 1~n 中所有偶数的和。

n,令 sum=0。可以遍历 1~n,遇偶数就累加;或让 i 从 2 开始步长 2 加到 n,只加偶数,循环次数更少。

解题分析

偶数和可从 2 步长 2 加到 n,或在 1~n 循环里判 i%2==0。步长法循环次数约减半。

完整程序

#include <stdio.h>

int main(void)
{
    int n;
    long long sum = 0;
    if (scanf("%d", &n) != 1 || n < 1) {
        return 1;
    }
    for (int i = 2; i <= n; i += 2) {
        sum += i;
    }
    printf("%lld\n", sum);
    return 0;
}

运行示例

输入:

6

输出:

12