题解 | #百钱买百鸡问题#
百钱买百鸡问题
https://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b
_ = input().strip()
def find(money: int, num: int):
res = []
for i in range(num, -1, -3):
temp_res = [i]
remain_money1 = 100 - i // 3
remain_nums1 = 100 - i
for j in range(remain_nums1, -1, -1):
remain_nums2 = remain_nums1 - j
if j * 3 == remain_money1:
temp_res.insert(0, j)
temp_res.insert(0, 0)
res.append(temp_res)
break
elif j * 3 > remain_money1:
break
else:
if remain_nums2 * 5 + j * 3 == remain_money1:
temp_res.insert(0, j)
temp_res.insert(0, remain_nums2)
res.append(temp_res)
break
return res
res = find(100, 84)
for r in res[-1::-1]:
for i in r:
print(i, end=' ')
print()
