Предмет: Информатика, автор: bropines


Решите пожалуйста!!!!
Ограничения: время - 200мс, память - 256MS
В магазине продаются два вида печенья. Первый вид печенья упакован в
коробки по А штук и стоит В центов за коробку, второй вид печенья упакован в
коробки по С штук и стоит D центов за коробку. Аня собирается угостить печеньем N
гостей и хочет приобрести столько коробок печенья одного вида, чтобы каждому
гостю досталось по одному печенью. Например, для 22 гостей можно купить либо 3
коробки за 11 центов по 10 печений, либо 2 коробки за 15 центов по 12 печений. В
первом случае Аня потратит 33 цента, во втором случае - 30 центов.
Напишите программу, определяющую, какой вид печенья выгоднее купить.
Первая строка ввода содержит пять целых чисел A, B, C, D и N разделенных
пробелами - информация о количестве печенья в коробке и стоимости для каждого
вида печенья и количество гостей.
В первой строке вывести сообщение «FIRST», если выгоднее купить печенье
первого вида, или сообщение «SECOND», если выгоднее купить печенье первого
вида, или сообщение «ANY», если стоимость приобретения N или более штук
печенья для обоих видов одинакова. Во второй строке вывести одно целое число -
стоимость покупки.

Ответы

Автор ответа: srzontmp
1

var A,B,C,D,N,M,K,S: integer;

begin

 readln(A,B,C,D,N);

 M:=N div A;

 if M*A<N then M:=M+1;

 K:=N div C;

 if K*C<N then K:=K+1;

 S:=M*B;  

 if M*B<K*D then writeln('FIRST')

 else

    if M*B>K*D then

    begin

      S:=K*D;

      writeln('SECOND');

    end

    else writeln('ANY');

 writeln(S);    

end.

 


bropines: Этоирешение лучшее так как оно для старых версий
Аноним: По Вашей логике, если нужно добраться в другой конец города, лучший способ - это воспользоваться извозчиком, так как это старый способ передвижения ))))
Аноним: Вы также можете не пользоваться электронной почтой и интернетом вообще: обычная бумажная почта лучше, ведь она годится для старых способов общения. Люблю я эту детскую логику!
bropines: Да просто комп в школе новую не тянет и в большинстве случаев у все стоит старая версия Паскаля
Аноним: Тогда в вопросе нужно всего лишь писать, в какой версии требуется решение)
Автор ответа: Аноним
1

PascalABC.NET 3.4.2, сборка 1847 от 28.10.2018

Внимание! Если программа не работает, обновите версию!

begin

 var a, b, c, d, n: integer;

 Readln(a, b, c, d, n);

 var (ka, kc) := (Ceil(n/a), Ceil(n/c));

 var (sb, sd) := (b * ka, d * kc);

 if sb < sd then Writeln('FIRST', NewLine, sb)

 else

   if sd < sb then Writeln('SECOND', NewLine, sd)

   else Writeln('ANY', NewLine, sb)

end.

10 11 12 15 22

SECOND

30

Похожие вопросы
Предмет: Геометрия, автор: bryfimil