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

GESP 2024年9月 C++一级 单选题 第15题

C++一级单选题2024年9月第15题

所属知识点:for 循环 难度要求:掌握 考频:高频

如果一个正整数 N 能够表示为 `X*(X+1)` 的形式,这里称它是一个"兄弟数"。例如,输入 6,则输出"6 是一个兄弟数"。下面 C++ 代码用来判断 N 是否为一个"兄弟数",在横线处应填入的代码可从 i)-iv) 中选择,则有几个能完成功能?( )。 ---
int N;
cin >> N;
for(int i = 0; i <= N; i++)
    if(______________)
        cout << N << "是一个兄弟数\n";

// i) N == i*(i+1)   ii) N == i*(i-1)   iii) N/(i+1) == i   iv) N/(i-1) == i

正确答案:B

题目解析
i) N==i*(i+1) 对;ii) 生成同一组数也对;iii) 整除 N/(i+1)==i 会对一段 N 都成立、误判;iv) i=1 时除以 0 出错。能正确的 2 个,选 B。 💡 用整除判断常因「一段范围都满足」而误判,用乘法等式 N==i*(i+1) 更稳。

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

进入 GESPPASS 开始练习