百钱百鸡问题

分析问题

已知总钱数为 100 元,要购买 100 只鸡,且公鸡 5 元 / 只,母鸡 3 元 / 只,小鸡 1 元 3 只,同时公鸡、母鸡、小鸡数量都要大于 0 。设公鸡数量为x,母鸡数量为y,小鸡数量为z

  • 等量关系:从鸡的总数可得x+y+z=100;从钱数可得x*5 + y*3 + z/3 = 100

建立模型

穷举所有公鸡、母鸡可能的数量

小鸡的数量等于100减去公鸡再减去母鸡的数量

判断等量关系,输出满足条件的数字

编写代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    int g,m,x;
    for(int g=1;g*5<100;g++){
        for(m=1;m*3<100;m++){
            x=100-g-m;
            if(x%3!=0) continue;
            if(g+m+x == 100 && g*5+m*3+x/3 == 100)
                cout<<g<<" "<<m<<" "<<x<<"\n";
        }
    }
    return 0;
} 

保存 编译 运行