大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法 输入参数:空 输出返回值:[(大鸡数量,中鸡数量,小鸡数量),(大鸡数量,中鸡数量,小鸡数量),(大鸡数量,中鸡数量,小鸡数量),...]Note:每种买法是一个元祖,包括大鸡数量,中鸡数量,小鸡数量,返回值为买法的列表
时间: 2023-08-05 12:03:27 浏览: 84
求百鸡问题 公鸡每只5元,母鸡每只3
好的,这道题可以用循环来解决。我来给你写一下代码:
```python
def buy_chicken():
result = []
for i in range(101):
for j in range(101):
k = 100 - i - j
if 5*i+3*j+k/3 == 100 and k % 3 == 0:
result.append((i, j, k))
return result
```
我们先从大鸡数量为 0 开始,依次枚举大鸡数量和中鸡数量,小鸡数量就可以算出来了。注意小鸡数量必须是 3 的倍数才能满足题意。
调用这个函数:
```python
print(buy_chicken())
```
输出结果为:
```
[(0, 25, 75), (4, 18, 78), (8, 11, 81), (12, 4, 84)]
```
这就是所有买法,每个元素代表一种买法,包括大鸡数量、中鸡数量和小鸡数量。
阅读全文