百钱买百鸡(双层循环)C++
时间: 2025-01-28 15:52:16 浏览: 31
### C++ 实现百钱买百鸡问题的双重循环解决方案
在C++中,可以通过双重`for`循环来解决问题中的三个未知量——公鸡、母鸡和小鸡的数量。由于题目规定了购买100只鸡恰好花费100文钱,因此可以设定两个嵌套的`for`循环分别枚举公鸡和母鸡的数量,而小鸡数量则由总数减去前两者得出。
```cpp
#include <iostream>
using namespace std;
int main() {
int rooster, hen, chick;
cout << "Solution(s):" << endl;
for (rooster = 0; rooster <= 100 / 5; ++rooster) { // 公鸡最多能买20只
for (hen = 0; hen <= 100 / 3 && rooster * 5 + hen * 3 <= 100; ++hen) { // 母鸡数量受总金额限制
chick = 100 - rooster - hen; // 小鸡数量
if ((chick % 3 == 0) && (rooster * 5 + hen * 3 + chick / 3 == 100)) {
cout << "Roosters: " << rooster
<< ", Hens: " << hen
<< ", Chicks: " << chick
<< endl;
}
}
}
return 0;
}
```
此代码片段展示了如何使用双重`for`循环解决这个问题,并且加入了简单的逻辑判断以确保满足题目的约束条件[^4]。
阅读全文
相关推荐













