GESP 二级 · GESP 202503 C++ 二级 第 11 题

选择题 · 答案 C · 考点:算法

← 整套速查表 GESP 二级 全部真题

题目

在数学中 $ N! $ 表示 $N$ 的阶乘,即 $1$ 到 $N$ 的乘积,如 $ 3! = 1 \times 2 \times 3 $,且 $ 0! = 1 $。下面的两段 C++ 代码用于求 $1$ 到 $N$ 的阶乘之和,如 $N$ 为 $3$,则结果是 $9$($ 1! + 2! + 3! $ 的值)。选项中的说法正确的是( )。

// 实现1
int i, N;
cin >> N;
int tnt = 0, last = 1;
for (i = 1; i < N + 1; i++) {
    last *= i;
    tnt += last;
}
cout << tnt << endl;
// 实现2
int i, N;
cin >> N;
int tnt = 0, tmp;
for (i = 1; i < N + 1; i++) {
    tmp = 1;
    for (int j = 1; j < i + 1; j++)
        tmp *= j;
    tnt += tmp;
}
cout << tnt << endl;
答案:C

考点

算法

解题思维

答案C。for循环每次迭代后执行更新表达式(如i++)。循环体执行次数由初始值、条件和更新共同决定。

常见错误

循环变量的初值、终值和步长共同决定循环次数。for(i=0;i<n;i++)执行n次。

详细解析(节选)

【考点】阶乘定义|累加累乘|算法效率

1. 🎯 考纲定位(考点定位)

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断