已知公鸡5元1只,母鸡3元1只,小鸡1元3只。现用n元钱买n只鸡,问总共有几种买法?各种买法的公鸡、母鸡、小鸡各多少只(某种鸡可以为0只)?用c语言完成上面这段程序
时间: 2023-11-26 14:12:10 浏览: 76
求百鸡问题 公鸡每只5元,母鸡每只3
好的,这是一道经典的数学题目,我们可以使用枚举法来解决。
以下是使用 C 语言编写的解决方案:
```c
#include <stdio.h>
int main()
{
int n, count = 0;
for (int i = 0; i <= 20; i++) // 公鸡最多买20只
{
for (int j = 0; j <= 33; j++) // 母鸡最多买33只
{
int k = 100 - i - j; // 计算小鸡数量
if (5 * i + 3 * j + k / 3 == 100 && k % 3 == 0 && i + j + k == 100) // 满足条件
{
count++;
printf("第 %d 种买法:公鸡 %d 只,母鸡 %d 只,小鸡 %d 只\n", count, i, j, k);
}
}
}
printf("总共有 %d 种买法。\n", count);
return 0;
}
```
输出结果为:
```
第 1 种买法:公鸡 0 只,母鸡 25 只,小鸡 75 只
第 2 种买法:公鸡 4 只,母鸡 18 只,小鸡 78 只
第 3 种买法:公鸡 8 只,母鸡 11 只,小鸡 81 只
第 4 种买法:公鸡 12 只,母鸡 4 只,小鸡 84 只
总共有 4 种买法。
```
当然,这只是其中一种解决方案,还有其他更高效的算法可以解决这个问题。
阅读全文