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

Ответы 6

  • Ваш вариант решения задачи на PascalABC или Алгоритмическом языке представляет больший интерес для меня и для автора вопроса.
  • Математически задача описывается через систему уравнений 5i+3j+0,5k=100 и i+j+k=100. Умножим первое уравнение на два и вычтем из него второе. Получим следующее выражение: 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 в этом случае станет отрицательным.
    • Автор:

      jaqueline
    • 5 лет назад
    • 0
  • Программа будет заключаться организации цикла, в котором i изменяется от 0 до 10 с шагом 5. В теле цикла вычисляется значение j, равное 20-9*i/5 и к, равное 100—i-j. Вычисленные значения, здесь-же в цикле и печатаются.
    • Автор:

      gucci7kcp
    • 5 лет назад
    • 0
  • 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.
  • Красота! :-)
  • 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
    • Автор:

      marco234
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years