Составить метод решения следующей задачки :Сколько можно покупать быков,скотин и телят,уплачивая
Составить метод решения следующей задачи :
Сколько можно покупать быков,скотин и телят,платя за быка 10р,за корову -5р,а за телёнка -0.5р,если на 100 рублей надобно покупать 100 голов скота?
2 ответа
Ирка Брониславская
Пусть b - количество быков, k - количество коров, t - количество телят.
Тогда можно составить систему уравнений
Два уравнения, три неведомых. Придется решать перебором вариантов.
Но прямой перебор - это неинтересно. Попробуем улучшить.
На 100 рублей можно покупать максимум 100/10=10 быков, либо 100/5=20 скотин, либо 100/0.5=200 телят. Без телят не обойтись, даже 18 скотин и бык - это 19 голов, а нужно 100. Выбирать необходимое количество из 200 хуже, чем из 20 или 10, потому создадим замену, чтоб избавиться от t.
Из второго уравнения следует, что t=100-b-k. (1)
Подставим значение t в первое уравнение:
10b+5k+0.5(100-b-k)=100;
10b+5k+50-0.5b-0.5k=100;
9.5b+4.5k=50;
19b+9k=100 k=(100-19b)/9 (2)
Укрупненный алгоритм:
Перебираем b от 0 до 9 (10 нельзя, истратим все 100 рублей, а телят приобретать надо!).
Для каждого b обретаем k по формуле (2). Если оно целочисленное, обретаем t по формуле (1). Решение найдено. По другому перебор длится.
var
b,k,t:integer;
v:real;
begin
for b:=0 to 9 do
if (100-19*b) mod 9=0 then begin
k:=(100-19*b) div 9;
t:=100-b-k;
Writeln('Быков ',b,', скотин ',k,', телят ',t);
break
end;
end.
Решение
Быков 1, скотин 9, телят 90
Тогда можно составить систему уравнений
Два уравнения, три неведомых. Придется решать перебором вариантов.
Но прямой перебор - это неинтересно. Попробуем улучшить.
На 100 рублей можно покупать максимум 100/10=10 быков, либо 100/5=20 скотин, либо 100/0.5=200 телят. Без телят не обойтись, даже 18 скотин и бык - это 19 голов, а нужно 100. Выбирать необходимое количество из 200 хуже, чем из 20 или 10, потому создадим замену, чтоб избавиться от t.
Из второго уравнения следует, что t=100-b-k. (1)
Подставим значение t в первое уравнение:
10b+5k+0.5(100-b-k)=100;
10b+5k+50-0.5b-0.5k=100;
9.5b+4.5k=50;
19b+9k=100 k=(100-19b)/9 (2)
Укрупненный алгоритм:
Перебираем b от 0 до 9 (10 нельзя, истратим все 100 рублей, а телят приобретать надо!).
Для каждого b обретаем k по формуле (2). Если оно целочисленное, обретаем t по формуле (1). Решение найдено. По другому перебор длится.
var
b,k,t:integer;
v:real;
begin
for b:=0 to 9 do
if (100-19*b) mod 9=0 then begin
k:=(100-19*b) div 9;
t:=100-b-k;
Writeln('Быков ',b,', скотин ',k,', телят ',t);
break
end;
end.
Решение
Быков 1, скотин 9, телят 90
Трощев
Васек
Если что-то не читается, обновите страницу
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Облако тегов