C++
百钱百鸡问题:
include
using namespace std;
int main() {
cout << "2547102107 杨浩明 " << endl;
// 鸡翁最多14只(100÷7),鸡婆最多11只(100÷9)
const int MAX_COCK = 14;
const int MAX_HEN = 11;
cout << "百钱百鸡问题的解:" << endl;
bool found = false;
// 循环鸡翁(0~14只)
for (int cock = 0; cock <= MAX_COCK; cock++) {
// 循环鸡婆(0~11只)
for (int hen = 0; hen <= MAX_HEN; hen++) {
// 计算鸡雏的钱数(总钱数100 - 鸡翁钱数 - 鸡婆钱数)
int chick_money = 100 - 7* cock - 9 * hen;
// 鸡雏2文3只,所以钱数必须是正数且能被2整除(因为2文3只,钱数为整数即可)
if (chick_money > 0) {
// 计算鸡雏数量(3只/文 × 钱数)
int chick = (chick_money/2)*3;
// 验证总鸡数是否为100
if (cock + hen + chick == 100) {
cout << "鸡翁:" << cock
<< ",鸡婆:" << hen
<< ",鸡雏:" << chick
<< endl;
found = true;
}
}
}
}
if (!found) {
cout << "无满足百钱百鸡的组合条件" << endl;
}
return 0;
}
浙公网安备 33010602011771号