‹ 上一题 下一题 ›

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

// 实现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;
  • A. 虽然实现1的代码短小,但效率并不高
  • B. 实现2的代码效率更高,且更易于理解
  • C. 实现1因为应用了前项计算结果,计算量更小,因此效率高
  • D. 两种实现,效率几乎一致
未选择
输入
输出

            
答案