#3322. [GESP202309 五级 C++] 第 4 题

[GESP202309 五级 C++] 第 4 题

有关下面C++代码说法错误的是( )。

// sumA()和sumB()用于求从1到N之和
#include <iostream>
using namespace std;
int sumA(int n) {
    int sum = 0;
    for (int i = 1; i < n + 1; i++)
        sum += i;
    return sum;
}
int sumB(int n) {
    if (n == 1)
        return 1;
    else
        return n + sumB(n - 1);
}
int main() {
    int n = 0;
    cin >> n;
    cout << sumA(n) << " " << sumB(n) << endl;
    return 0;
}

{{ select(1) }}

  • sumA() 用循环方式求从 1N 之和,sumB() 用递归方式求从 1N 之和。
  • 默认情况下,如果输入正整数 1000,能实现求从 11000 之和。
  • 默认情况下,如果输入正整数 100000,能实现求从 1100000 之和。
  • 一般说来,sumA() 的效率高于 sumB()