Как вывести все комбинации покупок за заданную сумму?

До меня не доходит как эту задачу решить

Вкратце: у фермера есть 100 т.р., он хочет купить скот. Какого количества и какого скота он может купить на эти деньги? Стоимость: бык 10 т.р., корова 5 т.р., теленок 500 руб.

Вариантов тут масса. Я не понимаю как вывести их все. Например, он может купить 9 быков, 1 корову и 10 телят. Как это вывести в принт?

Я сделал так. Но это выводит только 3 из возможных вариантов:

b = 10000  # бык
k = 5000  # корова
t = 500  # теленок
s = 100000  # общая сумма


def prog(x, y, i, z):
    return x / y, x / i, x / z


print(prog(s, b, k, t))

Но это явно что-то не то...


Ответы (2 шт):

Автор решения: TimAnt
b = 10000  # бык
k = 5000  # корова
t = 500  # теленок
s = 100000  # общая сумма

print(f"Быков: {s/b}, Коров: {s/k}, Телят: {s/t}")

Как-то так

→ Ссылка
Автор решения: Harry

Так сойдет?

b = 10000   # бык
k = 5000    # корова
t = 500     # теленок
s = 100000  # общая сумма

for ib in range(0,s//b+1):
    ns = s - ib * b
    for ik in range(0,ns//k+1):
        nns = ns - ik * k
        it = nns//t
        print("Быки: ", ib, " Коровы: ", ik, " Телята: ", it)
→ Ссылка