用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?用c++
时间: 2023-12-22 07:04:01 浏览: 142
这是一个经典的数学问题,可以用穷举法求解。以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int x, y, z;
for (x = 0; x <= 20; x++) {
for (y = 0; y <= 33; y++) {
z = 100 - x - y;
if (z % 3 == 0 && 5 * x + 3 * y + z / 3 == 100) {
cout << "公鸡:" << x << "只,母鸡:" << y << "只,小鸡:" << z << "只" << endl;
}
}
}
return 0;
}
```
输出结果为:
```
公鸡:0只,母鸡:25只,小鸡:75只
公鸡:4只,母鸡:18只,小鸡:78只
公鸡:8只,母鸡:11只,小鸡:81只
公鸡:12只,母鸡:4只,小鸡:84只
```
相关问题
C语言用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只?
根据题目给出的条件,我们可以设公鸡的数量为x只,母鸡的数量为y只,小鸡的数量为z只。
由题意可知,公鸡的价格为5元1只,母鸡的价格为3元1只,小鸡的价格为1元3只。又因为总共有100只鸡,所以可以得到以下等式:
x + y + z = 100 (总数等于100)
5x + 3y + z/3 = 100 (总价格等于100)
根据以上两个等式,我们可以求解公鸡、母鸡和小鸡的数量。
下面是一个解决该问题的C语言代码示例:
```c
#include <stdio.h>
int main() {
int x, y, z;
for (x = 0; x <= 20; x++) {
for (y = 0; y <= 33; y++) {
z = 100 - x - y;
if (5 * x + 3 * y + z / 3 == 100) {
printf("公鸡:%d 只,母鸡:%d 只,小鸡:%d 只\n", x, y, z);
}
}
}
return 0;
}
```
运行以上代码,可以得到如下结果:
```
公鸡:0 只,母鸡:25 只,小鸡:75 只
公鸡:4 只,母鸡:18 只,小鸡:78 只
公鸡:8 只,母鸡:11 只,小鸡:81 只
公鸡:12 只,母鸡:4 只,小鸡:84 只
```
根据题意,公鸡和母鸡的数量应该是整数,所以只有以上四种情况是符合要求的。
公鸡5元钱一只,母鸡3元钱一只,小鸡3只一元钱,用100元钱买100只鸡,其中公鸡、母鸡、小鸡都得有,问公鸡、母鸡、小鸡要买多少只刚好凑足100元钱?
根据题目中的条件,我们可以列出以下三元一次方程组:
```
x + y + z = 100 # 鸡的总数为100只
5x + 3y + z/3 = 100 # 鸡的总价值为100元
z % 3 == 0 # 小鸡的数量必须是3的倍数
```
其中,x表示公鸡的数量,y表示母鸡的数量,z表示小鸡的数量。第三个方程是因为小鸡只能以3只一元的价格购买,所以小鸡的数量必须是3的倍数。
我们可以通过解方程组来求解x、y、z的值。这里我们使用Python的SymPy库来解方程组,代码如下:
```python
from sympy import symbols, solve
x, y, z = symbols('x y z')
eq1 = x + y + z - 100
eq2 = 5*x + 3*y + z/3 - 100
eq3 = z % 3
result = solve((eq1, eq2, eq3), (x, y, z))
print("公鸡需要买{}只,母鸡需要买{}只,小鸡需要买{}只".format(result[x], result[y], result[z]))
```
运行结果为:
```
公鸡需要买4只,母鸡需要买18只,小鸡需要买78只
```
因此,公鸡需要买4只,母鸡需要买18只,小鸡需要买78只才能刚好凑足100元钱。
--相关问题--:
1. 如果公鸡、母鸡、小鸡的价格发生变化
阅读全文