• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача на Паскале

dima-baris

Ученик
Регистрация
12 Май 2011
Сообщения
3
Реакции
0
Баллы
0
Задача на Паскале

зарание спасибо большое!!
Задача: сколько можно купить быков,коров, телят, платя за быка 10 руб.,за корову 5 руб., а за телёнка 0.5 руб, если на 100 рублей надо купить сто голов скота.

её надо решить через цикл repeat!!
 
зарание спасибо большое!!
Задача: сколько можно купить быков,коров, телят, платя за быка 10 руб.,за корову 5 руб., а за телёнка 0.5 руб, если на 100 рублей надо купить сто голов скота.

её надо решить через цикл repeat!!
Прежде всего, давайте решим задачу безо всякого Паскаля. Обозначим:
1. Ox - искомое число быков,
2. Cow - искомое число коров,
3. Calf - искомое число телят.
Имеем систему уравнений:
10*Ox+5*Cow+0.5*Calf=100
Ox+Cow+Calf=100
Чтобы работать исключительно с целыми числами, умножим обе части первого уравнения на 2:
20*Ox+10*Cow+Calf=200
Исключив телят, получим:
Cow=(100-19*Ox)/9
Вот это Диофантово уравнение (это когда решениями являются только целые числа) и надо решить. Легко убедиться, что единственная подходящая комбинация есть Ox=1 и Cow=9. Отсюда получаем Calf=90. Эти три числа удовлетворяют обоим уравнениям системы.
А теперь - программа, реализующая этот алгоритм:
Код:
var
 Ox,Cow,Calf:Byte;
 b:boolean;
BEGIN
 Ox:=0;
 b:=true;
 Repeat
  Repeat
   Inc(Ox);
  Until (((100-19*Ox) mod 9)=0) or (Ox=5);
  If ((100-19*Ox) mod 9)=0 then
   begin
    Cow:=(100-19*Ox) div 9;
    Calf:=100-(Ox+Cow);
    If (Ox*20+Cow*10+Calf)=200 then
     begin
      b:=false;
      Writeln('  Ox - ',Ox);
      Writeln(' Cow - ',Cow);
      Writeln('Calf - ',Calf);
     end;
   end;
 Until Ox=5;
 If b then WriteLn('The problem is unsolvable!');
 readln;
END.
 
спасибо большое ещё раз!!!
 
Назад
Сверху