题意整理。

  • 键盘输入一个正整数n。
  • 输出1-n之间所有偶数的和。

方法一(循环)

1.解题思路

  • 1-n之间所有的偶数肯定以2为起始点,并且每项之间相差2,所以我们采用循环的方式,遍历1-n之间所有的偶数。
  • 每轮循环中,将对应的偶数累加到sum,最后再输出sum。

动图展示: alt

2.代码实现

#include <iostream>
using namespace std;

int main() {
    
    int n;
    cin >> n;
    int sum = 0;
    
    //遍历1-n之间所有的偶数
    for(int i=2;i<=n;i+=2){
        //将对应的偶数累加到sum
        sum=sum+i;
    }

    //输出sum
    cout << sum << endl;
    
    return 0;
}

3.复杂度分析

  • 时间复杂度:最多循环n/2n/2次,所以时间复杂度为O(n)O(n)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)