Сколько быков коров и телят

Что ты хочешь узнать?

Ответ

Проверено экспертом

Обозначим Б — число быков, К — число коров, Т — число телят.
Тогда можно записать, что
Б+К+Т=100 (1)
10Б+5К+0.5Т=100 (2)
Из (2) найдем ограничения на количества Б, К, и Т.
Б ∈ [0;10], К ∈ [0;20].
Из (1) находим, что Т=100-Б-К, Т — четное (иначе сумма не будет целой).
Эти ограничения позволят правильно построить циклы в программе.

PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
for var Б:=0 to 10 do
for var K:=0 to 20 do begin
var T:=100-Б-K; // из уравнения (1)
if T.IsEven and (10*Б+5*K+T div 2=100) then
Writeln(Б,’Б, ‘,K,’K, ‘,T,’T’)
end
end.

Результат
1Б, 9K, 90T

Что ты хочешь узнать?

Ответ

Проверено экспертом

var b,k,t: integer;

writeln(‘Все возможные решения задачи:’);

for b:=0 to (s div 5)+1 do

for k:=0 to ((s — b*5) div 3)+1 do

t := trunc( (s — b*5 — k*3) / 0.5 );

if ((b+k+t) = 100) and ( (b*5+k*3+t*0.5)=s)

Старинная задача. Сколько можно купить быков, коров и телят, если плата за быка 10 рублей, за корову — 5 рублей, за телёнка — полтинник (0,5 рубля) , если на 100 рублей надо купить 100 голов скота.

Обозначим через b — количество быков; k — количество коров; t — количество телят. После этого можно записать два уравнения: 10b + 5k + 0.5t = 100 и b + k + t = 100. Преобразуем их в 20b + 10k + t = 200 и b + k + t = 100

На 100 рублей можно купить: не более 10 быков, т. е. 0 Остальные ответы

Читайте также  Сканер отпечатков пальцев asus
Ссылка на основную публикацию
Adblock
detector