GESP 三级 · GESP 202412 C++ 三级 第 13 题

选择题 · 答案 D · 考点:搜索

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

题目

兔子五元一只,鸡三元一只,小鸭子一元三只,现在你有一百元要买一百只,兔子、鸡、鸭子,问兔子、鸡、鸭子各买多少只,每种必须至少一只,下列哪个程序能实现。( )。

A.

for(int i = 0; i <= 100; i++){
    for(int j = 0; j <= 100; j++){
        for(int k = 0; k <= 100; k++){
            if(i + j + k == 100 && 25 * i + 10 * j + k == 300)
                cout << i << " " << j << " " << k << endl;
        }
    }
}

B.

for(int i = 0; i <= 100; i++){
    for(int j = 0; j <= 100; j++){
        for(int k = 0; k <= 100; k++){
            if(i + j + k == 100 && 20 * i + 10 * j + k == 300)
                cout << i << " " << j << " " << k << endl;
        }
    }
}

C.

for(int i = 0; i <= 20; i++){
    for(int j = 0; j <= 34; j++){
        for(int k = 0; k <= 20; k++){
            if(i + j + k == 100 && 15 * i + 9 * j + k == 300)
                cout << i << " " << j << " " << k << endl;
        }
    }
}

D.

for(int i = 0; i <= 100; i++){
    for(int j = 0; j <= 100; j++){
        for(int k = 0; k <= 100; k++){
            if(i + j + k == 100 && 15 * i + 9 * j + k == 300)
                cout << i << " " << j << " " << k << endl;
        }
    }
}
答案:D

考点

搜索

解题思维

答案D。数组和位运算的代码追踪要特别小心:数组下标从0开始,位运算结果可能不直观。建议画图辅助。

常见错误

位运算追踪时建议把数字写成二进制形式再逐位计算。

详细解析(节选)

【考点】方程组建模|枚举搜索|边界条件

1. 🎯 考纲定位

GESP 三级 C++ 算法模块第 5 项"搜索算法",典型三元一次方程组题目。命题人卡住的是学生:看到"鸡兔同笼"变体就慌,不会把文字条件转化为数学方程。

同考点真题

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