Ю3.9

Задача. Голодная зима. Суточный рацион коровы составляет [latex]u[/latex] кг сена, [latex]v[/latex] кг силоса и [latex]w[/latex] кг комбикорма. В хозяйстве, содержащем стадо из [latex]k[/latex] голов, осталось [latex]s[/latex] кг сена, [latex]t[/latex] кг силоса и [latex]f[/latex] кг комбикорма.. В стаде ежедневно погибает [latex]p[/latex]% коров; ежедневно [latex]q[/latex]% оставшегося сена сгнивает; [latex]r[/latex]% силоса разворовывается колхозниками; [latex]t[/latex]% комбикорма распродает зав. фермой. Когда нельзя будет кормить всех оставшихся коров по полному рациону? Какой из видов кормов кончится раньше других?

Тесты:

u v w k s t f p q r h Результат Комментарий
10 10 5 50 2000 1500 1000 2 5 2 2 Через 2 дн. силос закончится. Пройден
15 10 10 50 1500 1500 1000 4 5 3 3 Через 1 дн. сено закончится.

Через 1 дн. комбикорм закончится.

Пройден
10 5 5 50 2000 2000 2000 2 5 5 2 Через 3 дн. сено закончится. Пройден
10 10 5 20 5000 4500 4000 39 5 2 2 Через 3 дн. все коровы умрут. Пройден

Код на С

Код на Java

 

Решение:

По условию задачи каждый день количество припасов меняется в зависимости от прошлодневного количества. В условии продолжения цикла указано допущение, что сперва еда дается коровам, а после количество ее уменьшается согласно заданным условиям (то есть, на сгнивание, разворовывание и продажу корма может и не хватить).

Допустим, что ежедневно умирает  [latex]p[/latex]% от начального количества коров. Чтобы число коров было целым используем функцию round.

В программе введен счетчик дней, который увеличивается на каждом витке цикла, и по завершении указывает количество дней, на которые хватило припасов.  После цикла путем сравнения определим какой из видов кормов закончится раньше, или проверим не погибнут ли все коровы.

С работой программы на С можно ознакомиться здесь, а на Java здесь.

 

Кваша Дар`я Михайлівна
Кваша Дар`я Михайлівна

Latest posts by Кваша Дар`я Михайлівна (see all)

3 thoughts on “Ю3.9

  1. Вторая строка в тестах кажется слишком высокой — нельзя удалить лишние пустые строки в ней?
    Не совсем мне понятно что делать с коровами — неужели их будет оставаться нецелое число? Кроме того не совсем понятно «p% коров» от изначального числа коров или текущего на данный момент? А Вы как поняли?

    В условии продолжения k!=0 — если Вы используете дробные числа, очень сомнительно, что останется ровно ноль коров, в любом случае, лучше заменить на условие k>0.

    В тестах Вы не проверили случай «все коровы умрут \n» — а ведь Вы учли его в программе — значит нужно проверить работает ли эта часть программы.

    Каким образом у Вас очутилось в строчке «printf(«Через %в дн. «,a);» запись %в не знаю, ведь на ideone все нормально записано. Нужно исправить опечатку.