Написать программку в Pascal. Древная задачка. Сколько можно покупать быков, скотин

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

Задать свой вопрос
Артемий Золозов
То есть дорогие животные в приоритете?
Ясмщикова Варвара
Вот вопрос :Сколько можно купить быков, скотин и телят?
Василиса Плетина
Поможете?
Андрей Дэвлет
Не могу помочь для вас с этим заданием.
Милена Манонникова
А почему?
Александра Ухловская
Эффективный метод не прибывает на разум
Ярослава Матисова
Тогда не эффективный пожалуста
Есения
Пожалуйста
Юрка Данчило
Немножко аналитики (совершенно немножко) и становится явно, что для данной задачки программный код вообщем не нужен. Все решается ординарными бесхитростными формулами. :-)
2 ответа

Ответ:

Программка Рафа, на его заслуги не претендую, просто немножко подкорректирую

program raf105;

const s=100;

var b,k,b1,t1,k1,t : integer;

Exit:boolean;

begin

Exit:=false;

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

for k:=0 to ((s - b*5) div 3) do

begin

t := (s - b*5 - k*3) *2;

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

then begin

B1:=b;

T1:=t;

K1:=k;

Exit:=true;

Break;

end;

If exit then begin

writeln('Быков: ',b1);

writeln('Скотин: ',k1);

writeln('Телят: ',t1);

Exit:=false;

End;

end;

end.

История Вопроса

24.05.2019

15:29 raf1O5 поправил решение

15:13 nelle987 выслала на исправление решение юзеру dim4942

15:10 nelle987 выслала на исправление решение юзеру raf1O5

23.05.2019

20:45 kookbak отметил решение юзера raf1O5 как лучшее

19:37 raf1O5 изменил решение

19:03 dim4942 изменил решение

19:02 dim4942 добавил решение

18:14 raf1O5 изменил решение

17:39 raf1O5 добавил решение

22.05.2019

21:11 kookbak добавил задачку

Подробнее - на Znanija.com - znanija.com/task/32529346readmore

Зеленорицкий Евгений
Но ведь необходимо купить 20 голов скота, а программа считает 20
Тимур
нужно покупать 100*

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

Вова Войцинский
Неужели никто ошибки в решении не увидел? Она же на поверхности!
Лариса Нечева
Даю подсказку: у данной задачи более чем одно решение.
Анастасия Ногачевская
Спасибо за подсказку. Моё решение не является одним из верных?
Колек Гориславский
Это как в квадратном уравнении с 2-мя корнями. Можно ли его считать решенным, если найден всего один корень?
Вовка
Если занимательно могу предоставить уравнение для решения данной задачи.
Олег Зволь
Ваш вариант решения задачки на PascalABC либо Алгоритмическом языке представляет больший интерес для меня и для творца вопроса.
Jana Kosmina
Математически задачка описывается через систему уравнений 5i+3j+0,5k=100 и i+j+k=100. Умножим первое уравнение на два и вычтем из него 2-ое. Получим последующее выражение: 9i+5j=100. Преобразовав это выражение, получим j=(100-9i)/5, j=20-9i/5. Это главная формула для решения данной задачи. i и j целые положительные числа. j принимает целое значение только при i=0, i=5, b i=10. Иные, огромные чем 10 значения i, кратные 5, нам не подходят, так как j в этом случае станет отрицательным.
Мирослава Чипенова
Программка будет содержаться организации цикла, в котором i изменяется от 0 до 10 с шагом 5. В теле цикла рассчитывается значение j, равное 20-9*i/5 и к, одинаковое 100i-j. Вычисленные значения, тут-же в цикле и печатаются.
Целяев Артемка
program answer2020;var i: integer; k,j: real;beginwriteln('Все вероятные решения задачки:');writeln;while i < 15 dobegin j:= 20-9*i/5; k:= 100-i-j; writeln('Быков: ',i); writeln('Скотин: ',j); writeln('Телят: ',k); writeln; i:= i+5;end;end.
Владимир Гейбулаев
Краса! :-)
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт