文章

7

粉丝

0

获赞

0

访问

837

头像
【250518年】408计算机统考真题模拟考试 - 第41题答案笔记
数据结构
发布于2025年5月20日 19:25
阅读数 157

计算机考研408统考历年真题及答案解析

1.由于相同元素都连续出现两次,如果我们引入一个-1的n次方,那么元素与-1的n次方相乘后相加后的他们会抵消掉,则最后的值即为特定元素

2.import std;//C++23

using namspace std;

const int N=1e6;

int main(){

long long int A[N];

long long sum=0;

//import the number

for(auto i;i<N;i++)sum+=A[i]*[1,-1][i%2];//如果取模为0,那么乘1,取模为1,乘-1

cout<<sum;

}

3.时间复杂度为O(n)

 


评分及理由

(1)得分及理由(满分3分)

得分:0分

理由:设计思想错误。题目要求找出仅出现一次的元素,而学生提出的方法是通过乘以-1的n次方后相加,这种方法在数学上可以抵消成对出现的元素,但题目要求的是在数组中找出唯一元素,而不是计算总和。因此,设计思想不符合题目要求。

(2)得分及理由(满分8分)

得分:0分

理由:代码实现错误。学生的代码存在多处问题:

  • 使用了不存在的`import std`语句(C++23中不存在此语法)。
  • `using namspace std`拼写错误(应为`using namespace std`)。
  • 数组`A`未初始化,直接使用会导致未定义行为。
  • 循环变量`i`未声明类型,且循环条件错误(`i<N`应为`i < N`)。
  • 逻辑错误:题目要求找出唯一元素,而代码计算的是所有元素乘以交替符号后的总和,这与题目要求不符。

(3)得分及理由(满分2分)

得分:0分

理由:虽然学生提到时间复杂度为O(n),但由于算法设计错误,时间复杂度分析无意义。

题目总分:0+0+0=0分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发