
Написать программу в Pascal. Старинная задача. Сколько можно купить быков, коров и телят, если
плата за быка 5 рублей, за корову - 3 рубля, за теленка - полтинник (0,5 рубля), если на 100 рублей надо купить 100 голов скота. Плюс 1 балл, если алгоритм эффективный.

Ответы на вопрос

program raf105;
const
s = 100;
var b,k,t: integer;
begin
writeln('Все возможные решения задачи:');
for b:=0 to (s div 5)+1 do
for k:=0 to ((s - b*5) div 3)+1 do
begin
t := trunc( (s - b*5 - k*3) / 0.5 );
if ((b+k+t) = 100) and ( (b*5+k*3+t*0.5)=s)
then begin
writeln;
writeln('Быков: ',b);
writeln('Коров: ',k);
writeln('Телят: ',t);
end;
end;
end.
PascalABC 3.4.2



Конечно, вот вам программа на языке Pascal, решающая данную задачу:
pascalprogram BuyCattle; var bulls, cows, calves: integer; begin for bulls := 0 to 100 do begin for cows := 0 to 100 do begin for calves := 0 to 100 do begin if (bulls + cows + calves = 100) and (5 * bulls + 3 * cows + 0.5 * calves = 100) then begin writeln('Bulls:', bulls); writeln('Cows:', cows); writeln('Calves:', calves); writeln('-------------'); end; end; end; end; end.
Алгоритм решения этой задачи неэффективен, так как используется перебор всех возможных комбинаций количества быков, коров и телят в трех вложенных циклах. Количество итераций составляет 101^3, что не является оптимальным решением. Однако, для данной задачи это приемлемое решение, так как количество возможных комбинаций невелико.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili