问题,用100元买100只鸡,公鸡一只5元,母鸡一只3元,小鸡3只一元。问公鸡,母鸡,小鸡各能买多少?请找出所有情况。
如下:
#include<iostream>
using namespace std;
int main()//三层for循环遍历三个对象,即穷举或枚举,直到满足条件的保留,不满足的舍去
{
int a, b, c;//枚举对象为三个鸡,a为公鸡,b为母鸡,c为小鸡🐥
for (a = 0; a <= 20; a++)//公鸡枚举的最大范围为20
for (b = 0; b <= 33; b++)//母鸡为33
for (c = 0; c <= 100; c++)//小鸡为100
if (a * 5 + b * 3 + c / 3 == 100 && a + b + c == 100 && c % 3 == 0)//判定条件
cout << "公鸡只数:"<<a <<'\t' << "母鸡只数:" << b<<'\t' << "小鸡只数:" << c << endl;
return 0;
}
#include <iostream>
using namespace std;
int main()//双层循环
{
int a, b, c;
for (a = 0; a <= 20; a++)
for (b = 0; b <= 33; b++)
{
c = 100 - a - b;
if (5 * a + 3 * b + c / 3 == 100 && c % 3 == 0)cout << "公鸡只数:" << a << '\t' << "母鸡只数:" << b << '\t' << "小鸡只数:" << c << endl;
}
return 0;
}
#include <iostream>//单层循环,数学建模,化简表达式,写出条件
using namespace std;
int main()
{
int a, b, c;
for (a = 0; a <= 14; a++)
{
b = (100 - 7 * a) / 4;c = 100 - a - b;
if (b <= 25&&c%3==0&&5*a+3*b+c/3==100)cout << "公鸡只数:" << a << '\t' << "母鸡只数:" << b << '\t' << "小鸡只数:" << c << endl;
}
}