сделать задачу на pythone

Сколько можно купить быков, коров и телят, если плата за быка 10 рублей, за корову - 5 рублей, за бычка 50 копеек, если на 100 рублей надо купить 100 голов скота.​

Ответы

Ответ дал: anonimhelps
1

Ответ:

for i in range(3) :

--if not (100 - 19 * i) % 9 :

----print('быков', i)

----print('коров', (100 - 19 * i) // 9)

----print('бычков', (100 - 10 * i - 5 * (100 - 19 * i) // 9) * 2)

19 это максимально возможное количество голов, которые можно купить на 100 рублей, если брать только коров и быков (18 коров и один бык)

бычок= 100-бык-корова

решим уравнение

Бык- i

Корова - к

10i+5k+0.5(100-1-k)=100//10; 5; 0.5 от стоимости животных 10i+5k+50-0.5i-0.5k=100

9.5i+4.5k-50;

19i+9k=100 ->

k=(100-19i)/9


anonimhelps: девятку сейчас формулой распишу, текстом это немного проблематично
J2S: давайте формулой
anonimhelps: бычок=100-бык -корова решим уравнение
J2S: у меня выдает ошибкц
J2S: unexpected indept
anonimhelps: Бык – i
Корова – k
10i+5k+0.5(100-i-k)=100 //10; 5; 0.5 – стоимости животных
10i+5k+50-0.5i-0.5k=100;
9.5i+4.5k=50;
19i+9k=100 ⇒ k=(100-19i)/9
anonimhelps: если нужно могу попробовать подробнее расписать:)
v1sual: красава
v1sual: спс
v1sual: лучший
Ответ дал: valgrisa
2

Ответ:

for b in range(100//10+1):

   for k in range(100//5+1):

       for t in range(100*2+1):

           if (10*b+5*k+t*0.5==100) and (b+k+t==100):

               print(b,k,t)

Объяснение:

отступы на скрине

Всего надо купить на 100 руб.

Если бык стоит 10 руб., то на 100 руб. можно купить всего 100/10

Целочисленное деление используем для range, т.к. range нужны аргументы целого типа, а плюс 1, чтобы использовать числа от до 10 включительно

Пределы для коров и телят так же (только с телятами 0,5 представили как 1/2, при делении перевернули и на 1 делить не стали (100/0,5 = 100/(1/2) = 100*2/1 = 100*2))

Всего должно быть 100 голов скота

быки + коровы + телята = 100

Всего надо купить на 100 руб.

количество быков * стоимость быков + количество коров * стоимость коров + количество телят * стоимость телят = 100

Должны быть выполнены оба условия, поэтому И (and)

Приложения:

J2S: откуда эта формула
J2S: 10*b+5. и т.д
J2S: и почему мы пишем два равно вместо одного
valgrisa: Пределы для коров и телят так же (только с телятами 0,5 представили как 1/2, при делении перевернули и на 1 делить не стали (100/0,5 = 100/(1/2) = 100*2/1 = 100*2))
valgrisa: Формула из условий задачи: всего должно быть 100 голов скота быки+коровы+телята=100 всего надо купить на 100 руб количество быков*стоимость быков+количество коров*стоимость коров+количество телят*стоимость телят=100. Должны быть выполнены оба условия, поэтому И(and)
valgrisa: Одно равно это оператор присваивания в питон, два рано это логический оператор равенства
valgrisa: *равно
J2S: спасибо
J2S: огромное
iiriska695: прошу, помогите с информатикой
Вас заинтересует