Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста с задачей Питон

Катерина Виронова Ученик (108), закрыт 1 год назад
Учитель биологии Семён Иванович мечтает на пенсии стать фермером. Для подъёма сельского хозяйства регион выделяет в рамках программы “100 за 100 тысяч” субсидии начинающим фермерам в размере 100 тыс. рублей на покупку ровно 100 голов скота. Приобрести нужно 100 голов скота, а выделяемую сумму необходимо потратить полностью, иначе возникнут вопросы у контролирующих организаций.
Сейчас на рынке цена быка — 10 тыс. рублей, за корову — 5 тыс. рублей а за телёнка — 500 рублей. Выведите в одной строке через пробел количество быков, коров и телят соответственно, которое Семён Иванович может купить в рамках программы. Если решений несколько, выведите любое. Если решений нет, выведите три раза -1.
Лучший ответ
Ксения Райт Гений (84985) 1 год назад
Здесь есть только одно единственное решение, поэтому все эти "если решений несколько" или "если решений нет" совершенно неуместны.
 for b in range(101): 
for k in range(201):
for t in range(201):
if b + k + t == 100:
if 10000*b+5000*k+500*t == 100000:
print('Быки:', b, ', Коровы:', k, ', Телята:', t)

И ещё тут можно сильно соптимизировать:
b+k+t=100 , откуда t=100-b-k
10000b+5000k+500•(100-b-k)=100000, после приведения подобных членов и сокращений получается диофантово уравнение 19b+9k=100.
 for b in range(6): 
s = 100 - 19 * b
for k in range(s // 9 + 1):
if 19 * b + 9 * k == 100: print(b, k, 100 - b - k)
Ответ, естественно, тот же самый: 1 9 90.
Анна ВоробьеваУченик (116) 1 год назад
спасибо, отлично работает
Ксения Райт Гений (84985) Анна Воробьева,
Татьяна ВасильеваУченик (118) 1 год назад
У меня почему-то выводит RE, помогите, пожалуйста
Ксения Райт Гений (84985) Татьяна Васильева, что RE ? Какое ещё RE ?Копировать отсюда лучше ничего не надо, надо создавать свой код преимущественно своими руками ! А не то скачнёшь отсюда файлик, а там чёрт его знает какие пробельные символы, включая символы переноса и табуляции, - гадай потом почему "не работает". Разумеется всё прекрасно работает ! А вот другой ответ целиком и полностью ошибочный...
Остальные ответы
*~ Zerx ~* Гуру (3037) 1 год назад
 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)
Алла Иванова Ученик (106) 1 год назад
b = 10000
k = 5000
t = 500
s = 100000

for ib in range(0, 10):
summ_b = ib * b
for ik in range(0, 20):
summ_k = summ_b + ik * k
for it in range(0, 200):
summ_t = summ_k + it * t
if summ_t == s and ib + it + ik == 100:
print( ib, ik, it)



Не благодарите!!
Алла ИвановаУченик (106) 1 год назад
b = 10000
k = 5000
t = 500
s = 100000

for ib in range(0, 10):
summ_b = ib * b
for ik in range(0, 20):
summ_k = summ_b + ik * k
for it in range(0, 200):
summ_t = summ_k + it * t
if summ_t == s and ib + it + ik == 100:
print( ib, ik, it)
Похожие вопросы