GESP C++ 真题 · 逐题精解
首页C++三级真题 › 2023年9月 › 第15题

GESP 2023年9月 C++三级 单选题 第15题

C++三级单选题2023年9月第15题

所属知识点:综合应用(跨题型) 难度要求:掌握 考频:—

在下列代码的输出是( )。
int array[10];
for(int i = 0; i < 10; i++)
    array[i] = i;
for(int p = 2; p < 10; p++)
    if(array[p] == p)
        for(int n = p; n < 10; n += p)
            array[n] = array[n] / p * (p - 1);
int res = 0;
for(int n = 1; n < 10; n++)
    res += array[n];
cout << res << endl;

正确答案:B

题目解析
这是欧拉函数筛:把 array[i]=i,对每个质数 p 将其倍数乘以 (p−1)/p,得到 φ(1..9)=1,1,2,2,4,2,6,4,6,求和为 28,选 B。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习