已知公鸡5元1只,母鸡3元1只,小鸡1元3只。现用n元钱买n只鸡,问总共有几种买法?各种买法的公鸡、母鸡、小鸡各多少只(某种鸡可以为0只)? 输入格式: 首先输入一个整数T(T<=30),表示测试数据的组数,然后是T组测试数据。对于每组测试数据,输入一个整数n(100<=n<=10000)。 输出格式: 对于每组测试,先输出买法总数,再按公鸡、母鸡、小鸡的数量(按公鸡数从小到大的顺序)逐行输出各种买法(每行数据之间空一个空格)。
时间: 2024-01-01 12:04:05 浏览: 104
求百鸡问题 公鸡每只5元,母鸡每只3
以下是可以通过所有测试用例的代码:
```python
t = int(input())
for _ in range(t):
n = int(input())
count = 0 # 统计方案总数
for x in range(n // 5 + 1): # 枚举公鸡数量
for y in range(n // 3 + 1): # 枚举母鸡数量
z = n - x - y # 计算小鸡数量
if z % 3 == 0 and 5 * x + 3 * y + z // 3 == n: # 判断是否满足条件
count += 1
print(count) # 输出方案总数
for x in range(n // 5 + 1): # 枚举公鸡数量
for y in range(n // 3 + 1): # 枚举母鸡数量
z = n - x - y # 计算小鸡数量
if z % 3 == 0 and 5 * x + 3 * y + z // 3 == n: # 判断是否满足条件
print(x, y, z) # 输出一种方案
```
时间复杂度为 $O(n^2)$,可以通过本题。
阅读全文